Emit debug info for data-only files on Cell SPU.
authorDale Johannesen <dalej@apple.com>
Wed, 9 Jul 2008 21:25:06 +0000 (21:25 +0000)
committerDale Johannesen <dalej@apple.com>
Wed, 9 Jul 2008 21:25:06 +0000 (21:25 +0000)
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

lib/Target/CellSPU/SPUAsmPrinter.cpp

index 4e4324bbefecdcd8e4c057fdcd988ce17339e1cb..817b746ec11d9cdbec28bb863c07140e7108f837 100644 (file)
@@ -273,11 +273,13 @@ namespace {
   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 @@ std::string LinuxAsmPrinter::getSectionForFunction(const Function &F) const {
 bool
 LinuxAsmPrinter::runOnMachineFunction(MachineFunction &MF)
 {
-  DW.SetModuleInfo(&getAnalysis<MachineModuleInfo>());
-
   SetupMachineFunction(MF);
   O << "\n\n";
   
@@ -488,6 +488,8 @@ bool LinuxAsmPrinter::doInitialization(Module &M) {
   SwitchToTextSection(TAI->getTextSection());
   // Emit initial debug information.
   DW.BeginModule(&M);
+  MMI = getAnalysisToUpdate<MachineModuleInfo>();
+  DW.SetModuleInfo(MMI);
   return Result;
 }