summaryrefslogtreecommitdiff
path: root/tools/gccas
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-01-15 07:41:51 +0000
committerChris Lattner <sabre@nondot.org>2007-01-15 07:41:51 +0000
commitac98024e5d23d07b085c8d6b035b785c16689f10 (patch)
treec128b25af344eeb3c02efcec48a485a49d44d319 /tools/gccas
parentff9f13a4b2b7030b027006e0d970ef059db5c587 (diff)
downloadllvm-ac98024e5d23d07b085c8d6b035b785c16689f10.tar.gz
llvm-ac98024e5d23d07b085c8d6b035b785c16689f10.tar.bz2
llvm-ac98024e5d23d07b085c8d6b035b785c16689f10.tar.xz
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
Diffstat (limited to 'tools/gccas')
-rw-r--r--tools/gccas/gccas.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp
index 2d08f36cc8..587a6a850d 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