From ac98024e5d23d07b085c8d6b035b785c16689f10 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%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33235 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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 -- 2.34.1