[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp

Jim Laskey jlaskey at apple.com
Wed Jan 4 14:28:39 PST 2006



Changes in directory llvm/lib/Target/PowerPC:

PPCAsmPrinter.cpp updated: 1.134 -> 1.135
---
Log message:

Applied some recommend changes from sabre.  The dominate one beginning "let the
pass manager do it's thing."  Fixes crash when compiling -g files and suppresses
dwarf statements if no debug info is present.


---
Diffs of the changes:  (+11 -7)

 PPCAsmPrinter.cpp |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)


Index: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
diff -u llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.134 llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.135
--- llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.134	Wed Jan  4 07:52:30 2006
+++ llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp	Wed Jan  4 16:28:25 2006
@@ -204,16 +204,16 @@
     
     virtual bool runOnMachineFunction(MachineFunction &F) = 0;
     virtual bool doFinalization(Module &M) = 0;
+    
   };
 
   /// DarwinDwarfWriter - Dwarf debug info writer customized for Darwin/Mac OS X
   ///
   struct DarwinDwarfWriter : public DwarfWriter {
     // Ctor.
-    DarwinDwarfWriter(std::ostream &o, AsmPrinter *ap, MachineDebugInfo &di)
-    : DwarfWriter(o, ap, di)
+    DarwinDwarfWriter(std::ostream &o, AsmPrinter *ap)
+    : DwarfWriter(o, ap)
     {
-      hasLEB128 = false;
       needsSet = true;
       DwarfAbbrevSection = ".section __DWARFA,__debug_abbrev,regular,debug";
       DwarfInfoSection = ".section __DWARFA,__debug_info,regular,debug";
@@ -229,9 +229,7 @@
     DarwinDwarfWriter DW;
 
     DarwinAsmPrinter(std::ostream &O, TargetMachine &TM)
-      : PPCAsmPrinter(O, TM),
-        // FIXME - MachineDebugInfo needs a proper location
-        DW(O, this, getMachineDebugInfo())      
+      : PPCAsmPrinter(O, TM), DW(O, this)      
       {
       CommentString = ";";
       GlobalPrefix = "_";
@@ -252,6 +250,11 @@
     bool runOnMachineFunction(MachineFunction &F);
     bool doInitialization(Module &M);
     bool doFinalization(Module &M);
+    
+    void getAnalysisUsage(AnalysisUsage &AU) const {
+      AU.addRequired<MachineDebugInfo>();
+    }
+
   };
 
   /// AIXAsmPrinter - PowerPC assembly printer, customized for AIX
@@ -483,6 +486,7 @@
   Mang->setUseQuotes(true);
   
   // Emit initial debug information.
+  DW.SetDebugInfo(getAnalysisToUpdate<MachineDebugInfo>());
   DW.BeginModule();
   return false;
 }
@@ -613,7 +617,7 @@
   return false; // success
 }
 
-/// runOnMachineFunction - This uses the printMachineInstruction()
+/// runOnMachineFunction - This uses the e()
 /// method to print assembly for each instruction.
 ///
 bool AIXAsmPrinter::runOnMachineFunction(MachineFunction &MF) {






More information about the llvm-commits mailing list