diff options
author | Bill Wendling <isanbard@gmail.com> | 2009-05-12 00:06:59 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2009-05-12 00:06:59 +0000 |
commit | bc12c2be1822af07c1737cdb1c2dc9b117bb6a28 (patch) | |
tree | 281b6e4d304ec92b6c0cad243ede6b563fa95cfe /lib | |
parent | 9c992f1141ac2c440f7e3016b0d5ac841fbc0c4e (diff) | |
download | external_llvm-bc12c2be1822af07c1737cdb1c2dc9b117bb6a28.zip external_llvm-bc12c2be1822af07c1737cdb1c2dc9b117bb6a28.tar.gz external_llvm-bc12c2be1822af07c1737cdb1c2dc9b117bb6a28.tar.bz2 |
- 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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfWriter.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp index b64f14e..e9cd280 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<GlobalVariable *, SmallVector<unsigned, 4> >::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<GlobalVariable *, SmallVector<unsigned, 4> >::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); |