diff options
author | Chen Zheng <czhengsz@cn.ibm.com> | 2021-02-25 20:39:45 -0500 |
---|---|---|
committer | Chen Zheng <czhengsz@cn.ibm.com> | 2021-02-25 21:00:25 -0500 |
commit | d39bc36b1be72a16dcc4087dce547714ded324a9 (patch) | |
tree | 56be6198eaf19cd87d53b96d60330800f9aa5f8a /llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp | |
parent | c90dac27e94ec354a3e8919556ac5bc89b62c731 (diff) | |
download | llvm-d39bc36b1be72a16dcc4087dce547714ded324a9.zip llvm-d39bc36b1be72a16dcc4087dce547714ded324a9.tar.gz llvm-d39bc36b1be72a16dcc4087dce547714ded324a9.tar.bz2 |
[debug-info] refactor emitDwarfUnitLength
remove `Hi` `Lo` argument from `emitDwarfUnitLength`, so we
can make caller of emitDwarfUnitLength easier.
Reviewed By: MaskRay, dblaikie, ikudrin
Differential Revision: https://reviews.llvm.org/D96409
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp b/llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp index dd98a65..65c45f7 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp @@ -205,7 +205,7 @@ class Dwarf5AccelTableWriter : public AccelTableWriter { : CompUnitCount(CompUnitCount), BucketCount(BucketCount), NameCount(NameCount) {} - void emit(const Dwarf5AccelTableWriter &Ctx) const; + void emit(Dwarf5AccelTableWriter &Ctx); }; struct AttributeEncoding { dwarf::Index Index; @@ -216,8 +216,7 @@ class Dwarf5AccelTableWriter : public AccelTableWriter { DenseMap<uint32_t, SmallVector<AttributeEncoding, 2>> Abbreviations; ArrayRef<MCSymbol *> CompUnits; llvm::function_ref<unsigned(const DataT &)> getCUIndexForEntry; - MCSymbol *ContributionStart = Asm->createTempSymbol("names_start"); - MCSymbol *ContributionEnd = Asm->createTempSymbol("names_end"); + MCSymbol *ContributionEnd = nullptr; MCSymbol *AbbrevStart = Asm->createTempSymbol("names_abbrev_start"); MCSymbol *AbbrevEnd = Asm->createTempSymbol("names_abbrev_end"); MCSymbol *EntryPool = Asm->createTempSymbol("names_entries"); @@ -240,7 +239,7 @@ public: ArrayRef<MCSymbol *> CompUnits, llvm::function_ref<unsigned(const DataT &)> GetCUIndexForEntry); - void emit() const; + void emit(); }; } // namespace @@ -361,14 +360,12 @@ void AppleAccelTableWriter::emit() const { } template <typename DataT> -void Dwarf5AccelTableWriter<DataT>::Header::emit( - const Dwarf5AccelTableWriter &Ctx) const { +void Dwarf5AccelTableWriter<DataT>::Header::emit(Dwarf5AccelTableWriter &Ctx) { assert(CompUnitCount > 0 && "Index must have at least one CU."); AsmPrinter *Asm = Ctx.Asm; - Asm->emitDwarfUnitLength(Ctx.ContributionEnd, Ctx.ContributionStart, - "Header: unit length"); - Asm->OutStreamer->emitLabel(Ctx.ContributionStart); + Ctx.ContributionEnd = + Asm->emitDwarfUnitLength("names", "Header: unit length"); Asm->OutStreamer->AddComment("Header: version"); Asm->emitInt16(Version); Asm->OutStreamer->AddComment("Header: padding"); @@ -526,7 +523,7 @@ Dwarf5AccelTableWriter<DataT>::Dwarf5AccelTableWriter( Abbreviations.try_emplace(Tag, UniformAttributes); } -template <typename DataT> void Dwarf5AccelTableWriter<DataT>::emit() const { +template <typename DataT> void Dwarf5AccelTableWriter<DataT>::emit() { Header.emit(*this); emitCUList(); emitBuckets(); |