diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 14 | ||||
-rw-r--r-- | llvm/lib/IR/ModuleSummaryIndex.cpp | 12 |
2 files changed, 14 insertions, 12 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index 09e5220b919..39f2d6ae333 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -5824,12 +5824,7 @@ std::error_code ModuleSummaryIndexBitcodeReader::parseEntireSummary() { CalleeInfo(CallsiteCount, ProfileCount)); } GlobalValue::GUID GUID = getGUIDFromValueId(ValueID); - auto InfoList = TheIndex->findGlobalValueInfoList(GUID); - assert(InfoList != TheIndex->end() && - "Expected VST parse to create GlobalValueInfo entry"); - assert(InfoList->second.size() == 1 && - "Expected a single GlobalValueInfo per GUID in module"); - auto &Info = InfoList->second[0]; + auto *Info = TheIndex->getGlobalValueInfo(GUID); assert(!Info->summary() && "Expected a single summary per VST entry"); Info->setSummary(std::move(FS)); break; @@ -5848,12 +5843,7 @@ std::error_code ModuleSummaryIndexBitcodeReader::parseEntireSummary() { FS->addRefEdge(RefGUID); } GlobalValue::GUID GUID = getGUIDFromValueId(ValueID); - auto InfoList = TheIndex->findGlobalValueInfoList(GUID); - assert(InfoList != TheIndex->end() && - "Expected VST parse to create GlobalValueInfo entry"); - assert(InfoList->second.size() == 1 && - "Expected a single GlobalValueInfo per GUID in module"); - auto &Info = InfoList->second[0]; + auto *Info = TheIndex->getGlobalValueInfo(GUID); assert(!Info->summary() && "Expected a single summary per VST entry"); Info->setSummary(std::move(FS)); break; diff --git a/llvm/lib/IR/ModuleSummaryIndex.cpp b/llvm/lib/IR/ModuleSummaryIndex.cpp index 5effc65158d..340eccac6bd 100644 --- a/llvm/lib/IR/ModuleSummaryIndex.cpp +++ b/llvm/lib/IR/ModuleSummaryIndex.cpp @@ -68,3 +68,15 @@ void ModuleSummaryIndex::removeEmptySummaryEntries() { ++MI; } } + +GlobalValueInfo * +ModuleSummaryIndex::getGlobalValueInfo(uint64_t ValueGUID, + bool PerModuleIndex) const { + auto InfoList = findGlobalValueInfoList(ValueGUID); + assert(InfoList != end() && "GlobalValue not found in index"); + assert(!PerModuleIndex || + InfoList->second.size() == 1 && + "Expected a single entry per global value in per-module index"); + auto &Info = InfoList->second[0]; + return Info.get(); +} |