mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
Push DwarfDebug::attachRangesOrLowHighPC down into DwarfCompileUnit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219372 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cbb705d900
commit
7ed0e6d0c6
@ -421,4 +421,14 @@ DwarfCompileUnit::addScopeRangeList(DIE &ScopeDIE,
|
||||
addRangeList(std::move(List));
|
||||
}
|
||||
|
||||
void DwarfCompileUnit::attachRangesOrLowHighPC(
|
||||
DIE &Die, const SmallVectorImpl<InsnRange> &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
|
||||
|
@ -86,6 +86,9 @@ public:
|
||||
/// lexical scope.
|
||||
void addScopeRangeList(DIE &ScopeDIE,
|
||||
const SmallVectorImpl<InsnRange> &Range);
|
||||
|
||||
void attachRangesOrLowHighPC(DIE &D,
|
||||
const SmallVectorImpl<InsnRange> &Ranges);
|
||||
};
|
||||
|
||||
} // end llvm namespace
|
||||
|
@ -330,16 +330,6 @@ bool DwarfDebug::isLexicalScopeDIENull(LexicalScope *Scope) {
|
||||
return !getLabelAfterInsn(Ranges.front().second);
|
||||
}
|
||||
|
||||
void DwarfDebug::attachRangesOrLowHighPC(DwarfCompileUnit &TheCU, DIE &Die,
|
||||
const SmallVectorImpl<InsnRange> &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<DIE>
|
||||
@ -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<DIE>(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());
|
||||
|
@ -518,9 +518,6 @@ class DwarfDebug : public AsmPrinterHandler {
|
||||
LabelsAfterInsn.insert(std::make_pair(MI, nullptr));
|
||||
}
|
||||
|
||||
void attachRangesOrLowHighPC(DwarfCompileUnit &Unit, DIE &D,
|
||||
const SmallVectorImpl<InsnRange> &Ranges);
|
||||
|
||||
public:
|
||||
//===--------------------------------------------------------------------===//
|
||||
// Main entry points.
|
||||
|
Loading…
Reference in New Issue
Block a user