From 7ed0e6d0c661b101fe1830065bddff24c74730f9 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Thu, 9 Oct 2014 00:21:42 +0000 Subject: [PATCH] Push DwarfDebug::attachRangesOrLowHighPC down into DwarfCompileUnit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219372 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp | 10 ++++++++++ lib/CodeGen/AsmPrinter/DwarfCompileUnit.h | 3 +++ lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 14 ++------------ lib/CodeGen/AsmPrinter/DwarfDebug.h | 3 --- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp index 8cc283f9a6f..3e205132899 100644 --- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp @@ -421,4 +421,14 @@ DwarfCompileUnit::addScopeRangeList(DIE &ScopeDIE, addRangeList(std::move(List)); } +void DwarfCompileUnit::attachRangesOrLowHighPC( + DIE &Die, const SmallVectorImpl &Ranges) { + assert(!Ranges.empty()); + if (Ranges.size() == 1) + attachLowHighPC(Die, DD->getLabelBeforeInsn(Ranges.front().first), + DD->getLabelAfterInsn(Ranges.front().second)); + else + addScopeRangeList(Die, Ranges); +} + } // end llvm namespace diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h index 2a0088e475f..9623c079bfa 100644 --- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h +++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h @@ -86,6 +86,9 @@ public: /// lexical scope. void addScopeRangeList(DIE &ScopeDIE, const SmallVectorImpl &Range); + + void attachRangesOrLowHighPC(DIE &D, + const SmallVectorImpl &Ranges); }; } // end llvm namespace diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 4d60259861c..56d29736365 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -330,16 +330,6 @@ bool DwarfDebug::isLexicalScopeDIENull(LexicalScope *Scope) { return !getLabelAfterInsn(Ranges.front().second); } -void DwarfDebug::attachRangesOrLowHighPC(DwarfCompileUnit &TheCU, DIE &Die, - const SmallVectorImpl &Ranges) { - assert(!Ranges.empty()); - if (Ranges.size() == 1) - TheCU.attachLowHighPC(Die, getLabelBeforeInsn(Ranges.front().first), - getLabelAfterInsn(Ranges.front().second)); - else - TheCU.addScopeRangeList(Die, Ranges); -} - // Construct new DW_TAG_lexical_block for this scope and attach // DW_AT_low_pc/DW_AT_high_pc labels. std::unique_ptr @@ -352,7 +342,7 @@ DwarfDebug::constructLexicalScopeDIE(DwarfCompileUnit &TheCU, if (Scope->isAbstractScope()) return ScopeDIE; - attachRangesOrLowHighPC(TheCU, *ScopeDIE, Scope->getRanges()); + TheCU.attachRangesOrLowHighPC(*ScopeDIE, Scope->getRanges()); return ScopeDIE; } @@ -373,7 +363,7 @@ DwarfDebug::constructInlinedScopeDIE(DwarfCompileUnit &TheCU, auto ScopeDIE = make_unique(dwarf::DW_TAG_inlined_subroutine); TheCU.addDIEEntry(*ScopeDIE, dwarf::DW_AT_abstract_origin, *OriginDIE); - attachRangesOrLowHighPC(TheCU, *ScopeDIE, Scope->getRanges()); + TheCU.attachRangesOrLowHighPC(*ScopeDIE, Scope->getRanges()); // Add the call site information to the DIE. DILocation DL(Scope->getInlinedAt()); diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.h b/lib/CodeGen/AsmPrinter/DwarfDebug.h index d047322b995..d522455a4e5 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -518,9 +518,6 @@ class DwarfDebug : public AsmPrinterHandler { LabelsAfterInsn.insert(std::make_pair(MI, nullptr)); } - void attachRangesOrLowHighPC(DwarfCompileUnit &Unit, DIE &D, - const SmallVectorImpl &Ranges); - public: //===--------------------------------------------------------------------===// // Main entry points. -- 2.34.1