From a89a450f1cba7e845d26bb51c6efe464fc79ac88 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 15 Jan 2007 07:41:51 +0000 Subject: [PATCH] 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 --- tools/gccas/gccas.cpp | 1 + 1 file changed, 1 insertion(+) 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