aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/Target/CellSPU/SPUAsmPrinter.cpp8
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;
}