From: Chris Lattner Date: Fri, 21 Nov 2003 21:44:35 +0000 (+0000) Subject: Reorder passes a bit. In particular, it makes sense to run globaldce IMMEDIATELY... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=14b170f5ffaf64090b788b004b09740905aa2711;p=oota-llvm.git Reorder passes a bit. In particular, it makes sense to run globaldce IMMEDIATELY after funcresolve. Also, run the mem2reg pass _early_ so that IPCP and DAE actually do stuff. Run instcombine and simplify cfg after this to cleanup the intraprocedural messes we create. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10134 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp index 0ed58b97db5..7d44d00a55b 100644 --- a/tools/gccas/gccas.cpp +++ b/tools/gccas/gccas.cpp @@ -58,11 +58,13 @@ void AddConfiguredTransformationPasses(PassManager &PM) { PM.add(createVerifierPass()); // Verify that input is correct addPass(PM, createLowerSetJmpPass()); // Lower llvm.setjmp/.longjmp addPass(PM, createFunctionResolvingPass()); // Resolve (...) functions - addPass(PM, createCFGSimplificationPass()); // Clean up disgusting code - addPass(PM, createRaiseAllocationsPass()); // call %malloc -> malloc inst addPass(PM, createGlobalDCEPass()); // Remove unused globals + addPass(PM, createRaiseAllocationsPass()); // call %malloc -> malloc inst + addPass(PM, createPromoteMemoryToRegister()); // "Construct SSA form" addPass(PM, createIPConstantPropagationPass());// IP Constant Propagation addPass(PM, createDeadArgEliminationPass()); // Dead argument elimination + addPass(PM, createInstructionCombiningPass()); // Cleanup after IPCP & DAE + addPass(PM, createCFGSimplificationPass()); // Clean up disgusting code addPass(PM, createPruneEHPass()); // Remove dead EH info