diff options
Diffstat (limited to 'lib/Target/ARM/ARMAsmPrinter.cpp')
-rw-r--r-- | lib/Target/ARM/ARMAsmPrinter.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/Target/ARM/ARMAsmPrinter.cpp b/lib/Target/ARM/ARMAsmPrinter.cpp index 25b42c5db8..23e5e37cf0 100644 --- a/lib/Target/ARM/ARMAsmPrinter.cpp +++ b/lib/Target/ARM/ARMAsmPrinter.cpp @@ -42,13 +42,11 @@ STATISTIC(EmittedInsts, "Number of machine instrs printed"); namespace { struct VISIBILITY_HIDDEN ARMAsmPrinter : public AsmPrinter { ARMAsmPrinter(std::ostream &O, TargetMachine &TM, const TargetAsmInfo *T) - : AsmPrinter(O, TM, T), DW(O, this, T), MMI(0), AFI(NULL), - InCPMode(false) { + : AsmPrinter(O, TM, T), DW(O, this, T), AFI(NULL), InCPMode(false) { Subtarget = &TM.getSubtarget<ARMSubtarget>(); } DwarfWriter DW; - MachineModuleInfo *MMI; /// Subtarget - Keep a pointer to the ARMSubtarget around so that we can /// make the right decision when printing asm code for different targets. @@ -178,6 +176,8 @@ FunctionPass *llvm::createARMCodePrinterPass(std::ostream &o, bool ARMAsmPrinter::runOnMachineFunction(MachineFunction &MF) { AFI = MF.getInfo<ARMFunctionInfo>(); + DW.SetModuleInfo(&getAnalysis<MachineModuleInfo>()); + SetupMachineFunction(MF); O << "\n"; @@ -800,11 +800,6 @@ bool ARMAsmPrinter::doInitialization(Module &M) { bool Result = AsmPrinter::doInitialization(M); - // AsmPrinter::doInitialization should have done this analysis. - MMI = getAnalysisToUpdate<MachineModuleInfo>(); - assert(MMI); - DW.SetModuleInfo(MMI); - // Darwin wants symbols to be quoted if they have complex names. if (Subtarget->isTargetDarwin()) Mang->setUseQuotes(true); |