[llvm] r373273 - DebugInfo: Simplify section label caching/usage
David Blaikie via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 30 16:19:11 PDT 2019
Author: dblaikie
Date: Mon Sep 30 16:19:10 2019
New Revision: 373273
URL: http://llvm.org/viewvc/llvm-project?rev=373273&view=rev
Log:
DebugInfo: Simplify section label caching/usage
Modified:
llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp?rev=373273&r1=373272&r2=373273&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp Mon Sep 30 16:19:10 2019
@@ -329,7 +329,6 @@ void DwarfCompileUnit::addRange(RangeSpa
(&CURanges.back().getEnd()->getSection() !=
&Range.getEnd()->getSection())) {
CURanges.push_back(Range);
- DD->addSectionLabel(Range.getStart());
return;
}
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=373273&r1=373272&r2=373273&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Mon Sep 30 16:19:10 2019
@@ -1757,6 +1757,9 @@ void DwarfDebug::beginFunctionImpl(const
if (SP->getUnit()->getEmissionKind() == DICompileUnit::NoDebug)
return;
+ SectionLabels.insert(std::make_pair(&Asm->getFunctionBegin()->getSection(),
+ Asm->getFunctionBegin()));
+
DwarfCompileUnit &CU = getOrCreateDwarfCompileUnit(SP->getUnit());
// Set DwarfDwarfCompileUnitID in MCContext to the Compile Unit this function
@@ -2582,11 +2585,8 @@ static void emitRangeList(DwarfDebug &DD
if (!Base && (P.second.size() > 1 || DwarfVersion < 5) &&
(CU.getCUNode()->getRangesBaseAddress() || DwarfVersion >= 5)) {
BaseIsSet = true;
- // FIXME/use care: This may not be a useful base address if it's not
- // the lowest address/range in this object.
- Base = P.second.front()->getStart();
+ Base = DD.getSectionLabel(&P.second.front()->getStart()->getSection());
if (DwarfVersion >= 5) {
- Base = DD.getSectionLabel(&Base->getSection());
Asm->OutStreamer->AddComment("DW_RLE_base_addressx");
Asm->OutStreamer->EmitIntValue(dwarf::DW_RLE_base_addressx, 1);
Asm->OutStreamer->AddComment(" base address index");
@@ -3029,10 +3029,6 @@ uint16_t DwarfDebug::getDwarfVersion() c
return Asm->OutStreamer->getContext().getDwarfVersion();
}
-void DwarfDebug::addSectionLabel(const MCSymbol *Sym) {
- SectionLabels.insert(std::make_pair(&Sym->getSection(), Sym));
-}
-
const MCSymbol *DwarfDebug::getSectionLabel(const MCSection *S) {
return SectionLabels.find(S)->second;
}
More information about the llvm-commits
mailing list