diff options
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp b/llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp index 88d5487..e393951 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp @@ -357,6 +357,10 @@ void AppleAccelTableWriter::emit() const { emitData(); } +DWARF5AccelTableData::DWARF5AccelTableData(const DIE &Die, + const DwarfCompileUnit &CU) + : OffsetVal(&Die), DieTag(Die.getTag()), UnitID(CU.getUniqueID()) {} + template <typename DataT> void Dwarf5AccelTableWriter<DataT>::Header::emit(Dwarf5AccelTableWriter &Ctx) { assert(CompUnitCount > 0 && "Index must have at least one CU."); @@ -545,8 +549,8 @@ void llvm::emitAppleAccelTableImpl(AsmPrinter *Asm, AccelTableBase &Contents, } void llvm::emitDWARF5AccelTable( - AsmPrinter *Asm, AccelTable<DWARF5AccelTableData> &Contents, - const DwarfDebug &DD, ArrayRef<std::unique_ptr<DwarfCompileUnit>> CUs) { + AsmPrinter *Asm, DWARF5AccelTable &Contents, const DwarfDebug &DD, + ArrayRef<std::unique_ptr<DwarfCompileUnit>> CUs) { std::vector<std::variant<MCSymbol *, uint64_t>> CompUnits; SmallVector<unsigned, 1> CUIndex(CUs.size()); int Count = 0; @@ -575,20 +579,19 @@ void llvm::emitDWARF5AccelTable( Dwarf5AccelTableWriter<DWARF5AccelTableData>( Asm, Contents, CompUnits, [&](const DWARF5AccelTableData &Entry) { - const DIE *CUDie = Entry.getDie().getUnitDie(); - return CUIndex[DD.lookupCU(CUDie)->getUniqueID()]; + return CUIndex[Entry.getUnitID()]; }) .emit(); } void llvm::emitDWARF5AccelTable( - AsmPrinter *Asm, AccelTable<DWARF5AccelTableStaticData> &Contents, + AsmPrinter *Asm, DWARF5AccelTable &Contents, ArrayRef<std::variant<MCSymbol *, uint64_t>> CUs, - llvm::function_ref<unsigned(const DWARF5AccelTableStaticData &)> + llvm::function_ref<unsigned(const DWARF5AccelTableData &)> getCUIndexForEntry) { Contents.finalize(Asm, "names"); - Dwarf5AccelTableWriter<DWARF5AccelTableStaticData>(Asm, Contents, CUs, - getCUIndexForEntry) + Dwarf5AccelTableWriter<DWARF5AccelTableData>(Asm, Contents, CUs, + getCUIndexForEntry) .emit(); } @@ -687,11 +690,6 @@ void DWARF5AccelTableData::print(raw_ostream &OS) const { OS << " Tag: " << dwarf::TagString(getDieTag()) << "\n"; } -void DWARF5AccelTableStaticData::print(raw_ostream &OS) const { - OS << " Offset: " << getDieOffset() << "\n"; - OS << " Tag: " << dwarf::TagString(getDieTag()) << "\n"; -} - void AppleAccelTableOffsetData::print(raw_ostream &OS) const { OS << " Offset: " << Die.getOffset() << "\n"; } |