mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-10 06:03:52 +00:00
Bitcode: Do not remove empty summary entries when reading a per-module summary.
This became no longer necessary after D19462 landed, and will be incompatible with an upcoming change to the summary data structures that changes how we represent references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301660 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b73a15109d
commit
b64e9f11ab
@ -703,13 +703,6 @@ public:
|
||||
return &I->second;
|
||||
}
|
||||
|
||||
/// Remove entries in the GlobalValueMap that have empty summaries due to the
|
||||
/// eager nature of map entry creation during VST parsing. These would
|
||||
/// also be suppressed during combined index generation in mergeFrom(),
|
||||
/// but if there was only one module or this was the first module we might
|
||||
/// not invoke mergeFrom.
|
||||
void removeEmptySummaryEntries();
|
||||
|
||||
/// Collect for the given module the list of function it defines
|
||||
/// (GUID -> Summary).
|
||||
void collectDefinedFunctionsForModule(StringRef ModulePath,
|
||||
|
@ -4985,16 +4985,6 @@ Error ModuleSummaryIndexBitcodeReader::parseEntireSummary(
|
||||
case BitstreamEntry::Error:
|
||||
return error("Malformed block");
|
||||
case BitstreamEntry::EndBlock:
|
||||
// For a per-module index, remove any entries that still have empty
|
||||
// summaries. The VST parsing creates entries eagerly for all symbols,
|
||||
// but not all have associated summaries (e.g. it doesn't know how to
|
||||
// distinguish between VST_CODE_ENTRY for function declarations vs global
|
||||
// variables with initializers that end up with a summary). Remove those
|
||||
// entries now so that we don't need to rely on the combined index merger
|
||||
// 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();
|
||||
return Error::success();
|
||||
case BitstreamEntry::Record:
|
||||
// The interesting case.
|
||||
|
@ -52,18 +52,6 @@ void ModuleSummaryIndex::mergeFrom(std::unique_ptr<ModuleSummaryIndex> Other,
|
||||
}
|
||||
}
|
||||
|
||||
void ModuleSummaryIndex::removeEmptySummaryEntries() {
|
||||
for (auto MI = begin(), MIE = end(); MI != MIE;) {
|
||||
// Only expect this to be called on a per-module index, which has a single
|
||||
// entry per value entry list.
|
||||
assert(MI->second.size() == 1);
|
||||
if (!MI->second[0])
|
||||
MI = GlobalValueMap.erase(MI);
|
||||
else
|
||||
++MI;
|
||||
}
|
||||
}
|
||||
|
||||
// Collect for the given module the list of function it defines
|
||||
// (GUID -> Summary).
|
||||
void ModuleSummaryIndex::collectDefinedFunctionsForModule(
|
||||
|
Loading…
Reference in New Issue
Block a user