[llvm-commits] [llvm] r98005 - in /llvm/trunk: lib/CodeGen/AsmPrinter/DIE.cpp lib/CodeGen/AsmPrinter/DIE.h lib/CodeGen/AsmPrinter/DwarfDebug.cpp lib/CodeGen/AsmPrinter/DwarfDebug.h lib/CodeGen/AsmPrinter/DwarfException.cpp lib/CodeGen/AsmPrinter/DwarfPrinter.cpp lib/CodeGen/AsmPrinter/DwarfPrinter.h test/CodeGen/X86/aliases.ll

Chris Lattner sabre at nondot.org
Mon Mar 8 15:23:26 PST 2010


Author: lattner
Date: Mon Mar  8 17:23:25 2010
New Revision: 98005

URL: http://llvm.org/viewvc/llvm-project?rev=98005&view=rev
Log:
simplify EmitSectionOffset to always use .set if it is
available, the only thing this affects is that we produce
.set in one case we didn't before, which shouldn't harm
anything.  Make EmitSectionOffset call EmitDifference
instead of duplicating it.

Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/DIE.cpp
    llvm/trunk/lib/CodeGen/AsmPrinter/DIE.h
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfPrinter.h
    llvm/trunk/test/CodeGen/X86/aliases.ll

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DIE.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DIE.cpp?rev=98005&r1=98004&r2=98005&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DIE.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DIE.cpp Mon Mar  8 17:23:25 2010
@@ -285,7 +285,7 @@
 ///
 void DIESectionOffset::EmitValue(DwarfPrinter *D, unsigned Form) const {
   bool IsSmall = Form == dwarf::DW_FORM_data4;
-  D->EmitSectionOffset(Label, Section, IsSmall, IsEH, UseSet);
+  D->EmitSectionOffset(Label, Section, IsSmall, IsEH);
   D->getAsm()->O << '\n'; // FIXME: Necesssary?
 }
 
@@ -299,7 +299,7 @@
 #ifndef NDEBUG
 void DIESectionOffset::print(raw_ostream &O) {
   O << "Off: " << Label->getName() << "-" << Section->getName()
-    << "-" << IsEH << "-" << UseSet;
+    << "-" << IsEH;
 }
 #endif
 

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DIE.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DIE.h?rev=98005&r1=98004&r2=98005&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DIE.h (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DIE.h Mon Mar  8 17:23:25 2010
@@ -336,12 +336,11 @@
     const MCSymbol *Label;
     const MCSymbol *Section;
     bool IsEH : 1;
-    bool UseSet : 1;
   public:
     DIESectionOffset(const MCSymbol *Lab, const MCSymbol *Sec,
-                     bool isEH = false, bool useSet = true)
+                     bool isEH = false)
       : DIEValue(isSectionOffset), Label(Lab), Section(Sec),
-        IsEH(isEH), UseSet(useSet) {}
+        IsEH(isEH) {}
 
     /// EmitValue - Emit section offset.
     ///

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=98005&r1=98004&r2=98005&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Mon Mar  8 17:23:25 2010
@@ -376,8 +376,8 @@
 ///
 void DwarfDebug::addSectionOffset(DIE *Die, unsigned Attribute, unsigned Form,
                                   const MCSymbol *Label,const MCSymbol *Section,
-                                  bool isEH, bool useSet) {
-  DIEValue *Value = new DIESectionOffset(Label, Section, isEH, useSet);
+                                  bool isEH) {
+  DIEValue *Value = new DIESectionOffset(Label, Section, isEH);
   DIEValues.push_back(Value);
   Die->addValue(Attribute, Form, Value);
 }

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h?rev=98005&r1=98004&r2=98005&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.h Mon Mar  8 17:23:25 2010
@@ -249,7 +249,7 @@
   ///
   void addSectionOffset(DIE *Die, unsigned Attribute, unsigned Form,
                         const MCSymbol *Label, const MCSymbol *Section,
-                        bool isEH = false, bool useSet = true);
+                        bool isEH = false);
 
   /// addDelta - Add a label delta attribute data and value.
   ///

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp?rev=98005&r1=98004&r2=98005&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp Mon Mar  8 17:23:25 2010
@@ -232,7 +232,7 @@
     EmitSectionOffset(getDWLabel("eh_frame_begin", EHFrameInfo.Number),
                       getDWLabel("eh_frame_common",
                                  EHFrameInfo.PersonalityIndex),
-                      true, true, false);
+                      true, true);
 
     EOL("FDE CIE offset");
 

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp?rev=98005&r1=98004&r2=98005&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp Mon Mar  8 17:23:25 2010
@@ -278,39 +278,18 @@
 
 void DwarfPrinter::EmitSectionOffset(const MCSymbol *Label,
                                      const MCSymbol *Section,
-                                     bool IsSmall, bool isEH,
-                                     bool useSet) {
+                                     bool IsSmall, bool isEH) {
   bool printAbsolute = false;
   if (isEH)
     printAbsolute = MAI->isAbsoluteEHSectionOffsets();
   else
     printAbsolute = MAI->isAbsoluteDebugSectionOffsets();
 
-  if (MAI->hasSetDirective() && useSet) {
-    // FIXME: switch to OutStreamer.EmitAssignment.
-    O << "\t.set\t";
-    PrintLabelName("set", SetCounter, Flavor);
-    O << ",";
-    PrintLabelName(Label);
-
-    if (!printAbsolute) {
-      O << "-";
-      PrintLabelName(Section);
-    }
-
-    O << "\n";
-    PrintRelDirective(IsSmall);
-    PrintLabelName("set", SetCounter, Flavor);
-    ++SetCounter;
-  } else {
-    PrintRelDirective(IsSmall, true);
-    PrintLabelName(Label);
-
-    if (!printAbsolute) {
-      O << "-";
-      PrintLabelName(Section);
-    }
-  }
+  if (!printAbsolute)
+    return EmitDifference(Label, Section, IsSmall);
+  
+  PrintRelDirective(IsSmall, true);
+  PrintLabelName(Label);
 }
 
 /// EmitFrameMoves - Emit frame instructions to describe the layout of the

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfPrinter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfPrinter.h?rev=98005&r1=98004&r2=98005&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfPrinter.h (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfPrinter.h Mon Mar  8 17:23:25 2010
@@ -139,9 +139,9 @@
   /// EmitDifference - Emit the difference between two labels.
   void EmitDifference(const MCSymbol *LabelHi, const MCSymbol *LabelLo,
                       bool IsSmall = false);
+
   void EmitSectionOffset(const MCSymbol *Label, const MCSymbol *Section,
-                         bool IsSmall = false, bool isEH = false,
-                         bool useSet = true);
+                         bool IsSmall = false, bool isEH = false);
   
   /// EmitFrameMoves - Emit frame instructions to describe the layout of the
   /// frame.

Modified: llvm/trunk/test/CodeGen/X86/aliases.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/aliases.ll?rev=98005&r1=98004&r2=98005&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/aliases.ll (original)
+++ llvm/trunk/test/CodeGen/X86/aliases.ll Mon Mar  8 17:23:25 2010
@@ -1,6 +1,6 @@
 ; RUN: llc < %s -mtriple=i686-pc-linux-gnu -asm-verbose=false -o %t
 ; RUN: grep { = } %t   | count 7
-; RUN: grep set %t   | count 16
+; RUN: grep set %t   | count 18
 ; RUN: grep globl %t | count 6
 ; RUN: grep weak %t  | count 1
 ; RUN: grep hidden %t | count 1





More information about the llvm-commits mailing list