[llvm-commits] [llvm] r53254 - in /llvm/trunk/lib/Target: ARM/ARMAsmPrinter.cpp PowerPC/PPCAsmPrinter.cpp X86/X86ATTAsmPrinter.cpp
Evan Cheng
evan.cheng at apple.com
Tue Jul 8 23:35:35 PDT 2008
Hi Dale,
This breaks ppc backend. Just try to llc anything with debug
information. Can you take a look? I'll back it out for now.
Evan
On Jul 8, 2008, at 2:56 PM, Dale Johannesen wrote:
> Author: johannes
> Date: Tue Jul 8 16:56:22 2008
> New Revision: 53254
>
> URL: http://llvm.org/viewvc/llvm-project?rev=53254&view=rev
> Log:
> Make debug info come out in data-only files.
>
> This is a question of the debugging setup code not
> being called at the right time, and it's called from
> target-dependent code for some reason. I have only
> attempted to fix Darwin, but I'm pretty sure it's
> broken elsewhere; I'll leave that to people who can
> test it.
>
>
> Modified:
> llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
> llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp
> llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp
>
> Modified: llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp?rev=53254&r1=53253&r2=53254&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/ARMAsmPrinter.cpp Tue Jul 8 16:56:22
> 2008
> @@ -42,11 +42,13 @@
> namespace {
> struct VISIBILITY_HIDDEN ARMAsmPrinter : public AsmPrinter {
> ARMAsmPrinter(std::ostream &O, TargetMachine &TM, const
> TargetAsmInfo *T)
> - : AsmPrinter(O, TM, T), DW(O, this, T), AFI(NULL),
> InCPMode(false) {
> + : AsmPrinter(O, TM, T), DW(O, this, T), MMI(0), 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.
> @@ -176,8 +178,6 @@
> bool ARMAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
> AFI = MF.getInfo<ARMFunctionInfo>();
>
> - DW.SetModuleInfo(&getAnalysis<MachineModuleInfo>());
> -
> SetupMachineFunction(MF);
> O << "\n";
>
> @@ -800,6 +800,11 @@
>
> 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);
>
> Modified: llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp?rev=53254&r1=53253&r2=53254&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (original)
> +++ llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp Tue Jul 8
> 16:56:22 2008
> @@ -790,9 +790,6 @@
> /// 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";
> @@ -887,6 +884,12 @@
>
> 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);
>
>
> Modified: llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp?rev=53254&r1=53253&r2=53254&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86ATTAsmPrinter.cpp Tue Jul 8
> 16:56:22 2008
> @@ -232,13 +232,6 @@
> 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";
>
> @@ -751,13 +744,20 @@
>
> /// 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);
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list