diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2008-07-09 06:36:53 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2008-07-09 06:36:53 +0000 |
| commit | 49c8e68e4cedeea62731ce6d6d745c919be6d201 (patch) | |
| tree | 434c9a5218f40faf8a1e4bc66460176962c31cad /llvm/lib | |
| parent | 88d2506ae277e81a26fed07cb5e02491c092f18c (diff) | |
| download | bcm5719-llvm-49c8e68e4cedeea62731ce6d6d745c919be6d201.tar.gz bcm5719-llvm-49c8e68e4cedeea62731ce6d6d745c919be6d201.zip | |
Back out 53254. It broke ppc debug info codegen.
llvm-svn: 53280
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMAsmPrinter.cpp | 11 | ||||
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 9 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86ATTAsmPrinter.cpp | 18 |
3 files changed, 15 insertions, 23 deletions
diff --git a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp index 25b42c5db8f..23e5e37cf06 100644 --- a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp +++ b/llvm/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); diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp index ae967a8d00f..9c9dd391be7 100644 --- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -790,6 +790,9 @@ std::string DarwinAsmPrinter::getSectionForFunction(const Function &F) const { /// method to print assembly for each instruction. /// bool DarwinAsmPrinter::runOnMachineFunction(MachineFunction &MF) { + // We need this for Personality functions. + MMI = &getAnalysis<MachineModuleInfo>(); + DW.SetModuleInfo(MMI); SetupMachineFunction(MF); O << "\n\n"; @@ -884,12 +887,6 @@ bool DarwinAsmPrinter::doInitialization(Module &M) { bool Result = AsmPrinter::doInitialization(M); - // We need this for Personality functions. - // 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. Mang->setUseQuotes(true); diff --git a/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp b/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp index 4e1c1dfde1d..a61bb2261d6 100644 --- a/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp +++ b/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp @@ -232,6 +232,13 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) { const Function *F = MF.getFunction(); unsigned CC = F->getCallingConv(); + if (TAI->doesSupportDebugInformation()) { + // Let PassManager know we need debug information and relay + // the MachineModuleInfo address on to DwarfWriter. + MMI = &getAnalysis<MachineModuleInfo>(); + DW.SetModuleInfo(MMI); + } + SetupMachineFunction(MF); O << "\n\n"; @@ -744,20 +751,13 @@ void X86ATTAsmPrinter::printMachineInstruction(const MachineInstr *MI) { /// doInitialization bool X86ATTAsmPrinter::doInitialization(Module &M) { - - bool Result = AsmPrinter::doInitialization(M); - if (TAI->doesSupportDebugInformation()) { // Emit initial debug information. DW.BeginModule(&M); - // Let PassManager know we need debug information and relay - // the MachineModuleInfo address on to DwarfWriter. - // AsmPrinter::doInitialization should have done this analysis. - MMI = getAnalysisToUpdate<MachineModuleInfo>(); - assert(MMI); - DW.SetModuleInfo(MMI); } + bool Result = AsmPrinter::doInitialization(M); + // Darwin wants symbols to be quoted if they have complex names. if (Subtarget->isTargetDarwin()) Mang->setUseQuotes(true); |

