[llvm] r288318 - Bitcode: The index used by ModuleSummaryIndexBitcodeReader is now required, so make it a reference. NFCI.
Peter Collingbourne via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 30 22:21:08 PST 2016
Author: pcc
Date: Thu Dec 1 00:21:08 2016
New Revision: 288318
URL: http://llvm.org/viewvc/llvm-project?rev=288318&view=rev
Log:
Bitcode: The index used by ModuleSummaryIndexBitcodeReader is now required, so make it a reference. NFCI.
Modified:
llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp
Modified: llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp?rev=288318&r1=288317&r2=288318&view=diff
==============================================================================
--- llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp (original)
+++ llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp Thu Dec 1 00:21:08 2016
@@ -763,7 +763,7 @@ private:
/// files/sections.
class ModuleSummaryIndexBitcodeReader : public BitcodeReaderBase {
/// The module index built during parsing.
- ModuleSummaryIndex *TheIndex;
+ ModuleSummaryIndex &TheIndex;
/// Indicates whether we have encountered a global value summary section
/// yet during parsing.
@@ -797,7 +797,7 @@ class ModuleSummaryIndexBitcodeReader :
public:
ModuleSummaryIndexBitcodeReader(
- BitstreamCursor Stream, ModuleSummaryIndex *TheIndex);
+ BitstreamCursor Stream, ModuleSummaryIndex &TheIndex);
Error parseModule(StringRef ModulePath);
@@ -5883,7 +5883,7 @@ std::vector<StructType *> BitcodeReader:
}
ModuleSummaryIndexBitcodeReader::ModuleSummaryIndexBitcodeReader(
- BitstreamCursor Cursor, ModuleSummaryIndex *TheIndex)
+ BitstreamCursor Cursor, ModuleSummaryIndex &TheIndex)
: BitcodeReaderBase(std::move(Cursor)), TheIndex(TheIndex) {}
std::pair<GlobalValue::GUID, GlobalValue::GUID>
@@ -6074,12 +6074,12 @@ Error ModuleSummaryIndexBitcodeReader::p
case bitc::MODULE_CODE_HASH: {
if (Record.size() != 5)
return error("Invalid hash length " + Twine(Record.size()).str());
- if (TheIndex->modulePaths().empty())
+ if (TheIndex.modulePaths().empty())
// We always seed the index with the module.
- TheIndex->addModulePath(ModulePath, 0);
- if (TheIndex->modulePaths().size() != 1)
+ TheIndex.addModulePath(ModulePath, 0);
+ if (TheIndex.modulePaths().size() != 1)
return error("Don't expect multiple modules defined?");
- auto &Hash = TheIndex->modulePaths().begin()->second.second;
+ auto &Hash = TheIndex.modulePaths().begin()->second.second;
int Pos = 0;
for (auto &Val : Record) {
assert(!(Val >> 32) && "Unexpected high bits set");
@@ -6181,7 +6181,7 @@ Error ModuleSummaryIndexBitcodeReader::p
// to clean them up (especially since that may not run for the first
// module's index if we merge into that).
if (!Combined)
- TheIndex->removeEmptySummaryEntries();
+ TheIndex.removeEmptySummaryEntries();
return Error::success();
case BitstreamEntry::Record:
// The interesting case.
@@ -6219,7 +6219,7 @@ Error ModuleSummaryIndexBitcodeReader::p
// string table section in the per-module index, we create a single
// module path string table entry with an empty (0) ID to take
// ownership.
- FS->setModulePath(TheIndex->addModulePath(ModulePath, 0)->first());
+ FS->setModulePath(TheIndex.addModulePath(ModulePath, 0)->first());
static int RefListStartIndex = 4;
int CallGraphEdgeStartIndex = RefListStartIndex + NumRefs;
assert(Record.size() >= RefListStartIndex + NumRefs &&
@@ -6240,7 +6240,7 @@ Error ModuleSummaryIndexBitcodeReader::p
}
auto GUID = getGUIDFromValueId(ValueID);
FS->setOriginalName(GUID.second);
- TheIndex->addGlobalValueSummary(GUID.first, std::move(FS));
+ TheIndex.addGlobalValueSummary(GUID.first, std::move(FS));
break;
}
// FS_ALIAS: [valueid, flags, valueid]
@@ -6257,17 +6257,17 @@ Error ModuleSummaryIndexBitcodeReader::p
// string table section in the per-module index, we create a single
// module path string table entry with an empty (0) ID to take
// ownership.
- AS->setModulePath(TheIndex->addModulePath(ModulePath, 0)->first());
+ AS->setModulePath(TheIndex.addModulePath(ModulePath, 0)->first());
GlobalValue::GUID AliaseeGUID = getGUIDFromValueId(AliaseeID).first;
- auto *AliaseeSummary = TheIndex->getGlobalValueSummary(AliaseeGUID);
+ auto *AliaseeSummary = TheIndex.getGlobalValueSummary(AliaseeGUID);
if (!AliaseeSummary)
return error("Alias expects aliasee summary to be parsed");
AS->setAliasee(AliaseeSummary);
auto GUID = getGUIDFromValueId(ValueID);
AS->setOriginalName(GUID.second);
- TheIndex->addGlobalValueSummary(GUID.first, std::move(AS));
+ TheIndex.addGlobalValueSummary(GUID.first, std::move(AS));
break;
}
// FS_PERMODULE_GLOBALVAR_INIT_REFS: [valueid, flags, n x valueid]
@@ -6277,7 +6277,7 @@ Error ModuleSummaryIndexBitcodeReader::p
auto Flags = getDecodedGVSummaryFlags(RawFlags, Version);
std::unique_ptr<GlobalVarSummary> FS =
llvm::make_unique<GlobalVarSummary>(Flags);
- FS->setModulePath(TheIndex->addModulePath(ModulePath, 0)->first());
+ FS->setModulePath(TheIndex.addModulePath(ModulePath, 0)->first());
for (unsigned I = 2, E = Record.size(); I != E; ++I) {
unsigned RefValueId = Record[I];
GlobalValue::GUID RefGUID = getGUIDFromValueId(RefValueId).first;
@@ -6285,7 +6285,7 @@ Error ModuleSummaryIndexBitcodeReader::p
}
auto GUID = getGUIDFromValueId(ValueID);
FS->setOriginalName(GUID.second);
- TheIndex->addGlobalValueSummary(GUID.first, std::move(FS));
+ TheIndex.addGlobalValueSummary(GUID.first, std::move(FS));
break;
}
// FS_COMBINED: [valueid, modid, flags, instcount, numrefs,
@@ -6324,7 +6324,7 @@ Error ModuleSummaryIndexBitcodeReader::p
FS->addCallGraphEdge(CalleeGUID, CalleeInfo(Hotness));
}
GlobalValue::GUID GUID = getGUIDFromValueId(ValueID).first;
- TheIndex->addGlobalValueSummary(GUID, std::move(FS));
+ TheIndex.addGlobalValueSummary(GUID, std::move(FS));
Combined = true;
break;
}
@@ -6343,13 +6343,13 @@ Error ModuleSummaryIndexBitcodeReader::p
auto AliaseeGUID = getGUIDFromValueId(AliaseeValueId).first;
auto AliaseeInModule =
- TheIndex->findSummaryInModule(AliaseeGUID, AS->modulePath());
+ TheIndex.findSummaryInModule(AliaseeGUID, AS->modulePath());
if (!AliaseeInModule)
return error("Alias expects aliasee summary to be parsed");
AS->setAliasee(AliaseeInModule);
GlobalValue::GUID GUID = getGUIDFromValueId(ValueID).first;
- TheIndex->addGlobalValueSummary(GUID, std::move(AS));
+ TheIndex.addGlobalValueSummary(GUID, std::move(AS));
Combined = true;
break;
}
@@ -6369,7 +6369,7 @@ Error ModuleSummaryIndexBitcodeReader::p
FS->addRefEdge(RefGUID);
}
GlobalValue::GUID GUID = getGUIDFromValueId(ValueID).first;
- TheIndex->addGlobalValueSummary(GUID, std::move(FS));
+ TheIndex.addGlobalValueSummary(GUID, std::move(FS));
Combined = true;
break;
}
@@ -6440,7 +6440,7 @@ Error ModuleSummaryIndexBitcodeReader::p
if (convertToString(Record, 1, ModulePath))
return error("Invalid record");
- LastSeenModulePath = TheIndex->addModulePath(ModulePath, ModuleId);
+ LastSeenModulePath = TheIndex.addModulePath(ModulePath, ModuleId);
ModuleIdMap[ModuleId] = LastSeenModulePath->first();
ModulePath.clear();
@@ -6450,7 +6450,7 @@ Error ModuleSummaryIndexBitcodeReader::p
case bitc::MST_CODE_HASH: {
if (Record.size() != 5)
return error("Invalid hash length " + Twine(Record.size()).str());
- if (LastSeenModulePath == TheIndex->modulePaths().end())
+ if (LastSeenModulePath == TheIndex.modulePaths().end())
return error("Invalid hash that does not follow a module path");
int Pos = 0;
for (auto &Val : Record) {
@@ -6458,7 +6458,7 @@ Error ModuleSummaryIndexBitcodeReader::p
LastSeenModulePath->second.second[Pos++] = Val;
}
// Reset LastSeenModulePath to avoid overriding the hash unexpectedly.
- LastSeenModulePath = TheIndex->modulePaths().end();
+ LastSeenModulePath = TheIndex.modulePaths().end();
break;
}
}
@@ -6616,7 +6616,7 @@ Expected<std::unique_ptr<ModuleSummaryIn
Stream.JumpToBit(ModuleBit);
auto Index = llvm::make_unique<ModuleSummaryIndex>();
- ModuleSummaryIndexBitcodeReader R(std::move(Stream), Index.get());
+ ModuleSummaryIndexBitcodeReader R(std::move(Stream), *Index);
if (Error Err = R.parseModule(ModuleIdentifier))
return std::move(Err);
More information about the llvm-commits
mailing list