diff options
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h index 6f8e55edc91..a9e52e674a4 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h @@ -41,6 +41,7 @@ public: RangeSpan(MCSymbol *S, MCSymbol *E) : Start(S), End(E) {} const MCSymbol *getStart() const { return Start; } const MCSymbol *getEnd() const { return End; } + void setEnd(const MCSymbol *E) { End = E; } private: const MCSymbol *Start, *End; @@ -251,11 +252,7 @@ public: bool hasContent() const { return !UnitDie->getChildren().empty(); } /// addRange - Add an address range to the list of ranges for this unit. - void addRange(RangeSpan Range) { - // Only add a range for this unit if we're emitting full debug. - if (getCUNode().getEmissionKind() == DIBuilder::FullDebug) - CURanges.push_back(Range); - } + void addRange(RangeSpan Range); /// getRanges - Get the list of ranges for this unit. const SmallVectorImpl<RangeSpan> &getRanges() const { return CURanges; } @@ -583,7 +580,13 @@ public: /// addLabelAddress - Add a dwarf label attribute data and value using /// either DW_FORM_addr or DW_FORM_GNU_addr_index. - void addLabelAddress(DIE *Die, dwarf::Attribute Attribute, MCSymbol *Label); + void addLabelAddress(DIE *Die, dwarf::Attribute Attribute, + const MCSymbol *Label); + + /// addLocalLabelAddress - Add a dwarf label attribute data and value using + /// DW_FORM_addr only. + void addLocalLabelAddress(DIE *Die, dwarf::Attribute Attribute, + const MCSymbol *Label); DwarfCompileUnit &getCU() override { return *this; } |