From: Chris Lattner Date: Mon, 15 Jan 2007 07:41:51 +0000 (+0000) Subject: Run an instcombine pass after inlining but before scalarrepl. This allows X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=ac98024e5d23d07b085c8d6b035b785c16689f10 Run an instcombine pass after inlining but before scalarrepl. This allows instcombine to clean up the code, which makes more code suitable for SRoA. This helps C++ code in particular, e.g. speeding up tramp3d by 31%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33235 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp index 2d08f36cc83..587a6a850d8 100644 --- a/tools/gccas/gccas.cpp +++ b/tools/gccas/gccas.cpp @@ -102,6 +102,7 @@ void AddConfiguredTransformationPasses(PassManager &PM) { addPass(PM, createRaisePointerReferencesPass());// Recover type information addPass(PM, createTailDuplicationPass()); // Simplify cfg by copying code + addPass(PM, createInstructionCombiningPass()); // Cleanup for scalarrepl. addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs addPass(PM, createScalarReplAggregatesPass()); // Break up aggregate allocas addPass(PM, createInstructionCombiningPass()); // Combine silly seq's