diff options
author | Eric Christopher <echristo@gmail.com> | 2013-12-04 22:04:50 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2013-12-04 22:04:50 +0000 |
commit | 856d2fc052b57cab283a6eefc3f3819e4e37beb5 (patch) | |
tree | ef2246ec10877d561afcd61525f0ea682bbcec01 /lib | |
parent | c8c1893f8bf7f793a24c00b2aff915b8b316757f (diff) | |
download | llvm-856d2fc052b57cab283a6eefc3f3819e4e37beb5.tar.gz llvm-856d2fc052b57cab283a6eefc3f3819e4e37beb5.tar.bz2 llvm-856d2fc052b57cab283a6eefc3f3819e4e37beb5.tar.xz |
Make RangeSpanList take a symbol for the beginning of the range
rather than magically making the names match.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196419 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 11 | ||||
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfUnit.h | 6 |
2 files changed, 8 insertions, 9 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 98cb0fb907..c33042db34 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -469,9 +469,9 @@ void DwarfDebug::addScopeRangeList(CompileUnit *TheCU, DIE *ScopeDIE, const SmallVectorImpl<InsnRange> &Range) { // Emit offset in .debug_range as a relocatable label. emitDIE will handle // emitting it appropriately. - TheCU->addSectionLabel(ScopeDIE, dwarf::DW_AT_ranges, - Asm->GetTempSymbol("debug_ranges", GlobalRangeCount)); - RangeSpanList List(GlobalRangeCount++); + MCSymbol *RangeSym = Asm->GetTempSymbol("debug_ranges", GlobalRangeCount++); + TheCU->addSectionLabel(ScopeDIE, dwarf::DW_AT_ranges, RangeSym); + RangeSpanList List(RangeSym); for (SmallVectorImpl<InsnRange>::const_iterator RI = Range.begin(), RE = Range.end(); RI != RE; ++RI) { @@ -2940,9 +2940,8 @@ void DwarfDebug::emitDebugRanges() { I != E; ++I) { const RangeSpanList &List = *I; - // Emit a symbol so we can find the beginning of the range. - Asm->OutStreamer.EmitLabel( - Asm->GetTempSymbol("debug_ranges", List.getIndex())); + // Emit our symbol so we can find the beginning of the range. + Asm->OutStreamer.EmitLabel(List.getSym()); for (SmallVectorImpl<RangeSpan>::const_iterator RI = List.getRanges().begin(), diff --git a/lib/CodeGen/AsmPrinter/DwarfUnit.h b/lib/CodeGen/AsmPrinter/DwarfUnit.h index ce9faf0250..f862310067 100644 --- a/lib/CodeGen/AsmPrinter/DwarfUnit.h +++ b/lib/CodeGen/AsmPrinter/DwarfUnit.h @@ -45,13 +45,13 @@ private: class RangeSpanList { private: // Index for locating within the debug_range section this particular span. - unsigned Index; + MCSymbol *RangeSym; // List of ranges. SmallVector<RangeSpan, 2> Ranges; public: - RangeSpanList(unsigned Idx) : Index(Idx) {} - unsigned getIndex() const { return Index; } + RangeSpanList(MCSymbol *Sym) : RangeSym(Sym) {} + MCSymbol *getSym() const { return RangeSym; } const SmallVectorImpl<RangeSpan> &getRanges() const { return Ranges; } void addRange(RangeSpan Range) { Ranges.push_back(Range); } }; |