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
This commit is contained in:
Duncan Sands 2008-09-12 08:23:37 +00:00
parent 2bb4a4d315
commit 0e3b7b2f91

View File

@ -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