From 8958c404302f3e25ea7b8719108140a4ffc66681 Mon Sep 17 00:00:00 2001 From: Mehdi Amini Date: Sat, 2 Apr 2016 17:29:47 +0000 Subject: [PATCH] Rename FunctionIndex into GlobalValueIndex to reflect the recent changes (NFC) The index used to contain only Function, but now contains GlobalValue in general. From: Mehdi Amini llvm-svn: 265230 --- llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 44 ++++++++++++++++--------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index eb448c0..5e0b80e 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -2271,8 +2271,8 @@ static void WriteValueSymbolTable( const ValueSymbolTable &VST, const ValueEnumerator &VE, BitstreamWriter &Stream, uint64_t VSTOffsetPlaceholder = 0, uint64_t BitcodeStartBit = 0, - DenseMap> - *FunctionIndex = nullptr) { + DenseMap> * + GlobalValueIndex = nullptr) { if (VST.empty()) { // WriteValueSymbolTableForwardDecl should have returned early as // well. Ensure this handling remains in sync by asserting that @@ -2361,13 +2361,13 @@ static void WriteValueSymbolTable( // Must be the module-level VST, where we pass in the Index and // have a VSTOffsetPlaceholder. The function-level VST should not // contain any Function symbols. - assert(FunctionIndex); + assert(GlobalValueIndex); assert(VSTOffsetPlaceholder > 0); // Save the word offset of the function (from the start of the // actual bitcode written to the stream). uint64_t BitcodeIndex = - (*FunctionIndex)[F]->bitcodeIndex() - BitcodeStartBit; + (*GlobalValueIndex)[F]->bitcodeIndex() - BitcodeStartBit; assert((BitcodeIndex & 31) == 0 && "function block not 32-bit aligned"); NameVals.push_back(BitcodeIndex / 32); @@ -2526,11 +2526,12 @@ static void findRefEdges(const User *CurUser, const ValueEnumerator &VE, } /// Emit a function body to the module stream. -static void WriteFunction( - const Function &F, const Module *M, ValueEnumerator &VE, - BitstreamWriter &Stream, - DenseMap> &FunctionIndex, - bool EmitSummaryIndex) { +static void +WriteFunction(const Function &F, const Module *M, ValueEnumerator &VE, + BitstreamWriter &Stream, + DenseMap> & + GlobalValueIndex, + bool EmitSummaryIndex) { // Save the bitcode index of the start of this function block for recording // in the VST. uint64_t BitcodeIndex = Stream.GetCurrentBitNo(); @@ -2633,7 +2634,7 @@ static void WriteFunction( FuncSummary->addCallGraphEdges(CallGraphEdges); FuncSummary->addRefEdges(RefEdges); } - FunctionIndex[&F] = + GlobalValueIndex[&F] = llvm::make_unique(BitcodeIndex, std::move(FuncSummary)); // Emit names for all the instructions etc. @@ -2959,7 +2960,8 @@ static void WriteModuleLevelReferences(const GlobalVariable &V, /// Emit the per-module summary section alongside the rest of /// the module's bitcode. static void WritePerModuleGlobalValueSummary( - DenseMap> &FunctionIndex, + DenseMap> & + GlobalValueIndex, const Module *M, const ValueEnumerator &VE, BitstreamWriter &Stream) { if (M->empty()) return; @@ -3000,7 +3002,7 @@ static void WritePerModuleGlobalValueSummary( unsigned FSModRefsAbbrev = Stream.EmitAbbrev(Abbv); SmallVector NameVals; - // Iterate over the list of functions instead of the FunctionIndex map to + // Iterate over the list of functions instead of the GlobalValueIndex map to // ensure the ordering is stable. for (const Function &F : *M) { if (F.isDeclaration()) @@ -3010,10 +3012,10 @@ static void WritePerModuleGlobalValueSummary( if (!F.hasName()) continue; - assert(FunctionIndex.count(&F) == 1); + assert(GlobalValueIndex.count(&F) == 1); WritePerModuleFunctionSummaryRecord( - NameVals, cast(FunctionIndex[&F]->summary()), + NameVals, cast(GlobalValueIndex[&F]->summary()), VE.getValueID(M->getValueSymbolTable().lookup(F.getName())), FSCallsAbbrev, FSCallsProfileAbbrev, Stream, F); } @@ -3025,9 +3027,8 @@ static void WritePerModuleGlobalValueSummary( if (!F || F->isDeclaration()) continue; - assert(FunctionIndex.count(F) == 1); - FunctionSummary *FS = - cast(FunctionIndex[F]->summary()); + assert(GlobalValueIndex.count(F) == 1); + FunctionSummary *FS = cast(GlobalValueIndex[F]->summary()); // Add the alias to the reference list of aliasee function. FS->addRefEdge( VE.getValueID(M->getValueSymbolTable().lookup(A.getName()))); @@ -3278,18 +3279,19 @@ static void WriteModule(const Module *M, BitstreamWriter &Stream, WriteOperandBundleTags(M, Stream); // Emit function bodies. - DenseMap> FunctionIndex; + DenseMap> GlobalValueIndex; for (Module::const_iterator F = M->begin(), E = M->end(); F != E; ++F) if (!F->isDeclaration()) - WriteFunction(*F, M, VE, Stream, FunctionIndex, EmitSummaryIndex); + WriteFunction(*F, M, VE, Stream, GlobalValueIndex, EmitSummaryIndex); // Need to write after the above call to WriteFunction which populates // the summary information in the index. if (EmitSummaryIndex) - WritePerModuleGlobalValueSummary(FunctionIndex, M, VE, Stream); + WritePerModuleGlobalValueSummary(GlobalValueIndex, M, VE, Stream); WriteValueSymbolTable(M->getValueSymbolTable(), VE, Stream, - VSTOffsetPlaceholder, BitcodeStartBit, &FunctionIndex); + VSTOffsetPlaceholder, BitcodeStartBit, + &GlobalValueIndex); if (GenerateHash) { writeModuleHash(Stream, Buffer, BlockStartPos); -- 2.7.4