From: Bill Wendling Date: Tue, 12 May 2009 00:06:59 +0000 (+0000) Subject: - Record that the debug info is actually used so that the label folder doesn't X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=bc12c2be1822af07c1737cdb1c2dc9b117bb6a28;p=oota-llvm.git - Record that the debug info is actually used so that the label folder doesn't blast it away. - Move InlineInfo bookkeeping to bookkeep the correct debug info object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71519 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp index b64f14e11be..e9cd280906f 100644 --- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp @@ -3619,15 +3619,6 @@ public: // could be more elegant. AddUInt(SPDie, DW_AT_inline, 0, DW_INL_declared_not_inlined); - // Track the start label for this inlined function. - DenseMap >::iterator - I = InlineInfo.find(GV); - - if (I == InlineInfo.end()) - InlineInfo[GV].push_back(LabelID); - else - I->second.push_back(LabelID); - AbstractInstanceRootMap[GV] = Scope; AbstractInstanceRootList.push_back(Scope); } @@ -3646,6 +3637,7 @@ public: ConcreteScope->setDie(ScopeDie); ConcreteScope->setStartLabelID(LabelID); + MMI->RecordUsedDbgLabel(LabelID); LexicalScopeStack.back()->AddConcreteInst(ConcreteScope); @@ -3658,6 +3650,15 @@ public: else SI->second.push_back(ConcreteScope); + // Track the start label for this inlined function. + DenseMap >::iterator + I = InlineInfo.find(GV); + + if (I == InlineInfo.end()) + InlineInfo[GV].push_back(LabelID); + else + I->second.push_back(LabelID); + if (TimePassesIsEnabled) DebugTimer->stopTimer(); @@ -3687,7 +3688,6 @@ public: assert(!Scopes.empty() && "We should have at least one debug scope!"); DbgConcreteScope *Scope = Scopes.back(); Scopes.pop_back(); unsigned ID = MMI->NextLabelID(); - MMI->RecordUsedDbgLabel(ID); Scope->setEndLabelID(ID);