From faa060878b9cab4e9dead5d530a23ef13da5d46a Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 15 Jan 2007 07:41:51 +0000 Subject: 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%. llvm-svn: 33235 --- llvm/tools/gccas/gccas.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'llvm/tools/gccas/gccas.cpp') diff --git a/llvm/tools/gccas/gccas.cpp b/llvm/tools/gccas/gccas.cpp index 2d08f36cc83..587a6a850d8 100644 --- a/llvm/tools/gccas/gccas.cpp +++ b/llvm/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 -- cgit v1.2.3