diff options
-rw-r--r-- | lib/Target/CellSPU/SPUAsmPrinter.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
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 @@ 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; } |