[llvm] r196394 - DebugInfo: Remove unused start/end labels for the debug_abbrevs section

David Blaikie dblaikie at gmail.com
Wed Dec 4 10:12:29 PST 2013


Author: dblaikie
Date: Wed Dec  4 12:12:28 2013
New Revision: 196394

URL: http://llvm.org/viewvc/llvm-project?rev=196394&view=rev
Log:
DebugInfo: Remove unused start/end labels for the debug_abbrevs section

Since we always emit only one abbrevation section (shared by all the
compilation units in this module) there's no need for a separate label
at the start of each one (and we weren't using the CU ID anyway, so
there really was only one label). Use the section label instead and drop
the wholely unused debug_abbrev_end label.

Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=196394&r1=196393&r2=196394&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Wed Dec  4 12:12:28 2013
@@ -2186,9 +2186,6 @@ void DwarfDebug::emitAbbrevs(const MCSec
     // Start the debug abbrev section.
     Asm->OutStreamer.SwitchSection(Section);
 
-    MCSymbol *Begin = Asm->GetTempSymbol(Section->getLabelBeginName());
-    Asm->OutStreamer.EmitLabel(Begin);
-
     // For each abbrevation.
     for (unsigned i = 0, N = Abbrevs->size(); i < N; ++i) {
       // Get abbreviation data
@@ -2203,9 +2200,6 @@ void DwarfDebug::emitAbbrevs(const MCSec
 
     // Mark end of abbreviations.
     Asm->EmitULEB128(0, "EOM(3)");
-
-    MCSymbol *End = Asm->GetTempSymbol(Section->getLabelEndName());
-    Asm->OutStreamer.EmitLabel(End);
   }
 }
 

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp?rev=196394&r1=196393&r2=196394&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp Wed Dec  4 12:12:28 2013
@@ -1980,8 +1980,10 @@ void Unit::emitHeader(const MCSection *A
   Asm->OutStreamer.AddComment("DWARF version number");
   Asm->EmitInt16(DD->getDwarfVersion());
   Asm->OutStreamer.AddComment("Offset Into Abbrev. Section");
-  Asm->EmitSectionOffset(Asm->GetTempSymbol(ASection->getLabelBeginName()),
-                         ASectionSym);
+  // We share one abbreviations table across all compilation units so it's
+  // always at the start of the section. Use a relocatable offset where needed
+  // to ensure linking doesn't invalidate that offset.
+  Asm->EmitSectionOffset(ASectionSym, ASectionSym);
   Asm->OutStreamer.AddComment("Address Size (in bytes)");
   Asm->EmitInt8(Asm->getDataLayout().getPointerSize());
 }





More information about the llvm-commits mailing list