From: Dan Gohman Date: Mon, 24 Nov 2008 17:22:52 +0000 (+0000) Subject: Run post-RA scheduling after branch folding, as it tends to X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=cb72dd6776d49b21711977bde21b23c92cff7544;p=oota-llvm.git Run post-RA scheduling after branch folding, as it tends to obscure tail-merging opportunities. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59967 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp index e10be696142..e6873923bcc 100644 --- a/lib/CodeGen/LLVMTargetMachine.cpp +++ b/lib/CodeGen/LLVMTargetMachine.cpp @@ -222,6 +222,13 @@ bool LLVMTargetMachine::addCommonCodeGenPasses(PassManagerBase &PM, bool Fast) { // Insert prolog/epilog code. Eliminate abstract frame index references... PM.add(createPrologEpilogCodeInserter()); + if (PrintMachineCode) + PM.add(createMachineFunctionPrinterPass(cerr)); + + // Branch folding must be run after regalloc and prolog/epilog insertion. + if (!Fast) + PM.add(createBranchFoldingPass(getEnableTailMergeDefault())); + if (PrintMachineCode) PM.add(createMachineFunctionPrinterPass(cerr)); @@ -233,10 +240,6 @@ bool LLVMTargetMachine::addCommonCodeGenPasses(PassManagerBase &PM, bool Fast) { PM.add(createMachineFunctionPrinterPass(cerr)); } - // Branch folding must be run after regalloc and prolog/epilog insertion. - if (!Fast) - PM.add(createBranchFoldingPass(getEnableTailMergeDefault())); - PM.add(createGCMachineCodeAnalysisPass()); if (PrintMachineCode)