Emit debug info for data-only files on Cell SPU.
I cannot test this target, let me know if it breaks!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53363 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/CellSPU/SPUAsmPrinter.cpp b/lib/Target/CellSPU/SPUAsmPrinter.cpp
index 4e4324b..817b746 100644
--- a/lib/Target/CellSPU/SPUAsmPrinter.cpp
+++ b/lib/Target/CellSPU/SPUAsmPrinter.cpp
@@ -273,11 +273,13 @@
   struct VISIBILITY_HIDDEN LinuxAsmPrinter : public SPUAsmPrinter {
   
     DwarfWriter DW;
+    MachineModuleInfo *MMI;
 
     LinuxAsmPrinter(std::ostream &O, SPUTargetMachine &TM,
                     const TargetAsmInfo *T) :
       SPUAsmPrinter(O, TM, T),
-      DW(O, this, T)
+      DW(O, this, T),
+      MMI(0)
     { }
 
     virtual const char *getPassName() const {
@@ -422,8 +424,6 @@
 bool
 LinuxAsmPrinter::runOnMachineFunction(MachineFunction &MF)
 {
-  DW.SetModuleInfo(&getAnalysis<MachineModuleInfo>());
-
   SetupMachineFunction(MF);
   O << "\n\n";
   
@@ -488,6 +488,8 @@
   SwitchToTextSection(TAI->getTextSection());
   // Emit initial debug information.
   DW.BeginModule(&M);
+  MMI = getAnalysisToUpdate<MachineModuleInfo>();
+  DW.SetModuleInfo(MMI);
   return Result;
 }