DwarfDebug/Unit: Remove another case of label recreation by storing the gnu_ranges label in the unit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196793 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Blaikie
2013-12-09 17:51:30 +00:00
parent 1a803295d0
commit c3b96bacc8
2 changed files with 14 additions and 6 deletions

View File

@@ -140,6 +140,9 @@ protected:
/// The end of the unit within its section.
MCSymbol *LabelEnd;
/// The label for the start of the range sets for the elements of this unit.
MCSymbol *LabelRange;
Unit(unsigned UID, DIE *D, DICompileUnit CU, AsmPrinter *A, DwarfDebug *DW,
DwarfFile *DWU);
@@ -157,7 +160,9 @@ public:
Asm->GetTempSymbol(Section->getLabelBeginName(), getUniqueID());
this->LabelEnd =
Asm->GetTempSymbol(Section->getLabelEndName(), getUniqueID());
this->LabelRange = Asm->GetTempSymbol("gnu_ranges", getUniqueID());
}
const MCSection *getSection() const {
assert(Section);
return Section;
@@ -178,6 +183,11 @@ public:
return LabelEnd;
}
MCSymbol *getLabelRange() const {
assert(Section);
return LabelRange;
}
// Accessors.
unsigned getUniqueID() const { return UniqueID; }
virtual uint16_t getLanguage() const = 0;