aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2008-09-12 08:23:37 +0000
committerDuncan Sands <baldrick@free.fr>2008-09-12 08:23:37 +0000
commit0e3b7b2f91427807c3f544e96818072cc804e1d3 (patch)
tree4a4207c51120ba7faf02cbbd26d2c972f821c4f6
parent2bb4a4d31590c1d3c7b620d7ab6959af05920cd5 (diff)
Give GlobalsModRef a whirl in the nightly testers.
I placed it just before GVN because that it is the pass most likely to benefit from it. Some quick and dirty testing confirms that this is a decent place for it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56144 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--tools/opt/opt.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp
index 1d8ce576d6..eb4fbda8fa 100644
--- a/tools/opt/opt.cpp
+++ b/tools/opt/opt.cpp
@@ -280,11 +280,13 @@ void AddStandardCompilePasses(PassManager &PM) {
addPass(PM, createLoopUnswitchPass()); // Unswitch loops.
addPass(PM, createLoopIndexSplitPass()); // Index split loops.
// FIXME : Removing instcombine causes nestedloop regression.
- addPass(PM, createInstructionCombiningPass());
+ addPass(PM, createInstructionCombiningPass());
addPass(PM, createIndVarSimplifyPass()); // Canonicalize indvars
addPass(PM, createLoopDeletionPass()); // Delete dead loops
addPass(PM, createLoopUnrollPass()); // Unroll small loops
addPass(PM, createInstructionCombiningPass()); // Clean up after the unroller
+ addPass(PM, createGlobalsModRefPass()); // Alias analysis of globals
+ addPass(PM, createMarkModRefPass()); // Mark functions readonly/readnone
addPass(PM, createGVNPass()); // Remove redundancies
addPass(PM, createMemCpyOptPass()); // Remove memcpy / form memset
addPass(PM, createSCCPPass()); // Constant prop with SCCP