mc'ize the last use of PrintLabelName and eliminate PrintLabelName.
authorChris Lattner <sabre@nondot.org>
Tue, 9 Mar 2010 00:26:09 +0000 (00:26 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 9 Mar 2010 00:26:09 +0000 (00:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98015 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
lib/CodeGen/AsmPrinter/DwarfPrinter.h

index 2a1ff9ae8c80b184d2d6ab12750e9e67bcf16927..62c0d2183c8ef53458101b7b4e90372a14dc394a 100644 (file)
@@ -15,6 +15,7 @@
 #include "llvm/Module.h"
 #include "llvm/CodeGen/MachineFunction.h"
 #include "llvm/CodeGen/MachineModuleInfo.h"
+#include "llvm/MC/MCExpr.h"
 #include "llvm/MC/MCSection.h"
 #include "llvm/MC/MCStreamer.h"
 #include "llvm/MC/MCAsmInfo.h"
@@ -2967,12 +2968,11 @@ void DwarfDebug::emitDebugInlineInfo() {
       DIE *SP = LI->second;
       Asm->EmitInt32(SP->getOffset()); EOL("DIE offset");
 
-      if (TD->getPointerSize() == sizeof(int32_t))
-        O << MAI->getData32bitsDirective();
-      else
-        O << MAI->getData64bitsDirective();
-
-      PrintLabelName(getDWLabel("label", LI->first)); EOL("low_pc");
+      // FIXME: "Labels" should hold MCSymbol*'s
+      MCSymbol *L = getDWLabel("label", LI->first);
+      if (Asm->VerboseAsm) Asm->OutStreamer.AddComment("low_pc");
+      Asm->OutStreamer.EmitValue(MCSymbolRefExpr::Create(L, Asm->OutContext),
+                                 TD->getPointerSize(), 0/*AddrSpace*/);
     }
   }
 
index 8dd72c449645fe591b15f56ccda15ae8c3de4000..3eee56181e1daf67f7de81de6e71b5ecad18bb5c 100644 (file)
@@ -209,13 +209,6 @@ void DwarfPrinter::EmitULEB128(unsigned Value, const char *Desc,
 }
 
 
-/// PrintLabelName - Print label name in form used by Dwarf writer.
-///
-void DwarfPrinter::PrintLabelName(const MCSymbol *Label) const {
-  // FIXME: REMOVE.
-  O << Label->getName();
-}
-
 /// EmitReference - Emit a reference to a label.
 ///
 void DwarfPrinter::EmitReference(const MCSymbol *Sym, bool IsPCRelative,
@@ -229,7 +222,7 @@ void DwarfPrinter::EmitReference(const MCSymbol *Sym, unsigned Encoding) const {
   const TargetLoweringObjectFile &TLOF = Asm->getObjFileLowering();
 
   PrintRelDirective(Encoding);
-  O << *TLOF.getSymbolForDwarfReference(Sym, Asm->MMI, Encoding);;
+  O << *TLOF.getSymbolForDwarfReference(Sym, Asm->MMI, Encoding);
 }
 
 void DwarfPrinter::EmitReference(const GlobalValue *GV, unsigned Encoding)const{
@@ -300,8 +293,6 @@ void DwarfPrinter::EmitFrameMoves(const char *BaseLabel, unsigned BaseLabelID,
       EmitCFAByte(dwarf::DW_CFA_advance_loc4);
       EmitDifference(getDWLabel("label", LabelID),
                      getDWLabel(BaseLabel, BaseLabelID), true);
-      Asm->O << '\n';
-
       BaseLabelID = LabelID;
       BaseLabel = "label";
       IsLocal = true;
index cce62aa8cf0c4b7febbf7ffc865b0b0abf3fa74d..fd55a1760a4d3be4aeb3d2319c572a2bc1976c2a 100644 (file)
@@ -113,10 +113,6 @@ public:
                    unsigned PadTo = 0) const;
 
   
-  /// PrintLabelName - Print label name in form used by Dwarf writer.
-  ///
-  void PrintLabelName(const MCSymbol *Label) const;
-
   /// EmitReference - Emit a reference to a label.
   ///
   void EmitReference(const MCSymbol *Label, bool IsPCRelative = false,