mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
Remove DwarfUnit::LabelEnd in favor of computing the length of the section directly
This was a compile-unit specific label (unused in type units) and seems unnecessary anyway when we can more easily directly compute the size of the compile unit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221067 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
33e07581b2
commit
8ff48760a3
@ -173,6 +173,10 @@ public:
|
||||
this->SectionSym = SectionSym;
|
||||
}
|
||||
|
||||
unsigned getLength() {
|
||||
return sizeof(uint32_t) + // Length field
|
||||
getHeaderSize() + UnitDie.getSize();
|
||||
}
|
||||
};
|
||||
|
||||
} // end llvm namespace
|
||||
|
@ -1598,7 +1598,7 @@ void DwarfDebug::emitDebugPubSection(
|
||||
Asm->EmitSectionOffset(TheU->getLabelBegin(), TheU->getSectionSym());
|
||||
|
||||
Asm->OutStreamer.AddComment("Compilation Unit Length");
|
||||
Asm->EmitLabelDifference(TheU->getLabelEnd(), TheU->getLabelBegin(), 4);
|
||||
Asm->EmitInt32(TheU->getLength());
|
||||
|
||||
// Emit the pubnames for this compilation unit.
|
||||
for (const auto &GI : Globals) {
|
||||
|
@ -65,7 +65,6 @@ void DwarfFile::emitUnits(const MCSymbol *ASectionSym) {
|
||||
TheU->emitHeader(ASectionSym);
|
||||
|
||||
DD.emitDIE(Die);
|
||||
Asm->OutStreamer.EmitLabel(TheU->getLabelEnd());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1750,8 +1750,6 @@ void DwarfUnit::initSection(const MCSection *Section) {
|
||||
this->Section = Section;
|
||||
this->LabelBegin =
|
||||
Asm->GetTempSymbol(Section->getLabelBeginName(), getUniqueID());
|
||||
this->LabelEnd =
|
||||
Asm->GetTempSymbol(Section->getLabelEndName(), getUniqueID());
|
||||
}
|
||||
|
||||
void DwarfTypeUnit::emitHeader(const MCSymbol *ASectionSym) const {
|
||||
|
@ -132,9 +132,6 @@ protected:
|
||||
/// The start of the unit within its section.
|
||||
MCSymbol *LabelBegin;
|
||||
|
||||
/// The end of the unit within its section.
|
||||
MCSymbol *LabelEnd;
|
||||
|
||||
DwarfUnit(unsigned UID, dwarf::Tag, DICompileUnit CU, AsmPrinter *A,
|
||||
DwarfDebug *DW, DwarfFile *DWU);
|
||||
|
||||
@ -152,11 +149,6 @@ public:
|
||||
return LabelBegin;
|
||||
}
|
||||
|
||||
MCSymbol *getLabelEnd() const {
|
||||
assert(Section);
|
||||
return LabelEnd;
|
||||
}
|
||||
|
||||
// Accessors.
|
||||
unsigned getUniqueID() const { return UniqueID; }
|
||||
uint16_t getLanguage() const { return CUNode.getLanguage(); }
|
||||
|
@ -23,7 +23,7 @@
|
||||
; CHECK: DW_TAG_variable
|
||||
; CHECK: .long [[TYPE:.*]] # DW_AT_type
|
||||
; CHECK: DW_TAG_structure_type
|
||||
; CHECK: debug_info_end0
|
||||
; CHECK: debug_info_begin1
|
||||
; CHECK: DW_TAG_compile_unit
|
||||
; CHECK-NOT: DW_TAG_structure_type
|
||||
; This variable's type is in the 1st CU.
|
||||
@ -31,7 +31,7 @@
|
||||
; Make sure this is relocatable.
|
||||
; CHECK: .quad .Lsection_info+[[TYPE]] # DW_AT_type
|
||||
; CHECK-NOT: DW_TAG_structure_type
|
||||
; CHECK: debug_info_end1
|
||||
; CHECK: .section
|
||||
|
||||
; CHECK-DWARF: DW_TAG_compile_unit
|
||||
; CHECK-DWARF: 0x[[ADDR:.*]]: DW_TAG_structure_type
|
||||
|
@ -37,7 +37,7 @@
|
||||
|
||||
; Skip the output to the header of the pubnames section.
|
||||
; CHECK: debug_pubnames
|
||||
; CHECK: version = 0x0002
|
||||
; CHECK: version = 0x0002 {{.*}} unit_size = 0x00000128
|
||||
|
||||
; Check for each name in the output.
|
||||
; CHECK-DAG: "ns"
|
||||
|
Loading…
Reference in New Issue
Block a user