aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorEugene Leviant <eleviant@accesssoftek.com>2018-01-21 07:27:32 +0000
committerEugene Leviant <eleviant@accesssoftek.com>2018-01-21 07:27:32 +0000
commit453c976a637c2741a5d147a8a6d4bb111107053f (patch)
tree1fbbc92af93e506955e50bf5d086b8c8a0e8cee9 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent4dd524ed6a12923945c3dedaeb032ce24e4115e1 (diff)
downloadllvm-453c976a637c2741a5d147a8a6d4bb111107053f.zip
llvm-453c976a637c2741a5d147a8a6d4bb111107053f.tar.gz
llvm-453c976a637c2741a5d147a8a6d4bb111107053f.tar.bz2
[ThinLTO] Implement summary visualizer
Differential revision: https://reviews.llvm.org/D41297 llvm-svn: 323062
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index 1b029bf..7ffa624 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -4813,8 +4813,12 @@ void ModuleSummaryIndexBitcodeReader::setValueGUID(
if (PrintSummaryGUIDs)
dbgs() << "GUID " << ValueGUID << "(" << OriginalNameID << ") is "
<< ValueName << "\n";
- ValueIdToValueInfoMap[ValueID] =
- std::make_pair(TheIndex.getOrInsertValueInfo(ValueGUID), OriginalNameID);
+
+ // UseStrtab is false for legacy summary formats and value names are
+ // created on stack. We can't use them outside of parseValueSymbolTable.
+ ValueIdToValueInfoMap[ValueID] = std::make_pair(
+ TheIndex.getOrInsertValueInfo(ValueGUID, UseStrtab ? ValueName : ""),
+ OriginalNameID);
}
// Specialized value symbol table parser used when reading module index
@@ -5679,7 +5683,8 @@ Expected<std::unique_ptr<ModuleSummaryIndex>> BitcodeModule::getSummary() {
BitstreamCursor Stream(Buffer);
Stream.JumpToBit(ModuleBit);
- auto Index = llvm::make_unique<ModuleSummaryIndex>();
+ auto Index =
+ llvm::make_unique<ModuleSummaryIndex>(/*IsPerformingAnalysis=*/false);
ModuleSummaryIndexBitcodeReader R(std::move(Stream), Strtab, *Index,
ModuleIdentifier, 0);