@@ -455,15 +455,15 @@ void Dwarf5AccelTableWriter::populateAbbrevsMap() {
455
455
void *InsertPos;
456
456
if (DebugNamesAbbrev *Existing =
457
457
AbbreviationsSet.FindNodeOrInsertPos (ID, InsertPos)) {
458
- Value->setAbbrevIndex (Existing->getAbbrevTagIndex ());
458
+ Value->setAbbrevNumber (Existing->getNumber ());
459
459
continue ;
460
460
}
461
461
DebugNamesAbbrev *NewAbbrev =
462
462
new (Alloc) DebugNamesAbbrev (std::move (Abbrev));
463
- NewAbbrev->setAbbrevTagIndex (AbbreviationsVector.size ());
464
463
AbbreviationsVector.push_back (NewAbbrev);
464
+ NewAbbrev->setNumber (AbbreviationsVector.size ());
465
465
AbbreviationsSet.InsertNode (NewAbbrev, InsertPos);
466
- Value->setAbbrevIndex (NewAbbrev->getAbbrevTagIndex ());
466
+ Value->setAbbrevNumber (NewAbbrev->getNumber ());
467
467
}
468
468
}
469
469
}
@@ -515,7 +515,7 @@ void Dwarf5AccelTableWriter::emitAbbrevs() const {
515
515
Asm->OutStreamer ->emitLabel (AbbrevStart);
516
516
for (const DebugNamesAbbrev *Abbrev : AbbreviationsVector) {
517
517
Asm->OutStreamer ->AddComment (" Abbrev code" );
518
- Asm->emitULEB128 (Abbrev->getAbbrevTagIndex () + 1 );
518
+ Asm->emitULEB128 (Abbrev->getNumber () );
519
519
Asm->OutStreamer ->AddComment (dwarf::TagString (Abbrev->getDieTag ()));
520
520
Asm->emitULEB128 (Abbrev->getDieTag ());
521
521
for (const DebugNamesAbbrev::AttributeEncoding &AttrEnc :
@@ -535,9 +535,10 @@ void Dwarf5AccelTableWriter::emitEntry(
535
535
const DWARF5AccelTableData &Entry,
536
536
const DenseMap<OffsetAndUnitID, MCSymbol *> &DIEOffsetToAccelEntryLabel,
537
537
DenseSet<MCSymbol *> &EmittedAccelEntrySymbols) {
538
- assert (Entry.getAbbrevIndex () < AbbreviationsVector.size () &&
538
+ unsigned AbbrevIndex = Entry.getAbbrevNumber () - 1 ;
539
+ assert (AbbrevIndex < AbbreviationsVector.size () &&
539
540
" Entry abbrev index is outside of abbreviations vector range." );
540
- DebugNamesAbbrev *Abbrev = AbbreviationsVector[Entry. getAbbrevIndex () ];
541
+ DebugNamesAbbrev *Abbrev = AbbreviationsVector[AbbrevIndex ];
541
542
std::optional<DWARF5AccelTable::UnitIndexAndEncoding> EntryRet =
542
543
getIndexForEntry (Entry);
543
544
std::optional<OffsetAndUnitID> MaybeParentOffset =
@@ -553,7 +554,7 @@ void Dwarf5AccelTableWriter::emitEntry(
553
554
if (EmittedAccelEntrySymbols.insert (EntrySymbol).second )
554
555
Asm->OutStreamer ->emitLabel (EntrySymbol);
555
556
556
- Asm->emitULEB128 (Entry.getAbbrevIndex () + 1 , " Abbreviation code" );
557
+ Asm->emitULEB128 (Entry.getAbbrevNumber () , " Abbreviation code" );
557
558
558
559
for (const DebugNamesAbbrev::AttributeEncoding &AttrEnc :
559
560
Abbrev->getAttributes ()) {
0 commit comments