diff options
| author | Bill Wendling <isanbard@gmail.com> | 2012-04-02 22:16:50 +0000 |
|---|---|---|
| committer | Bill Wendling <isanbard@gmail.com> | 2012-04-02 22:16:50 +0000 |
| commit | 932b992888e5cb602dd87c7650046adfe2343e01 (patch) | |
| tree | a3ece8cba9bfd1f28d04c973fa9bce7a4bbd05fa /llvm/lib | |
| parent | 98f2c0c384e2aa39578cd8e9c96fe3c45e4b68d2 (diff) | |
| download | bcm5719-llvm-932b992888e5cb602dd87c7650046adfe2343e01.tar.gz bcm5719-llvm-932b992888e5cb602dd87c7650046adfe2343e01.zip | |
Add an option to turn off the expensive GVN load PRE part of GVN.
llvm-svn: 153902
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Transforms/IPO/PassManagerBuilder.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp index 243ba1a85bf..a1b0a4580bf 100644 --- a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp +++ b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp @@ -207,7 +207,8 @@ void PassManagerBuilder::populateModulePassManager(PassManagerBase &MPM) { void PassManagerBuilder::populateLTOPassManager(PassManagerBase &PM, bool Internalize, - bool RunInliner) { + bool RunInliner, + bool DisableGVNLoadPRE) { // Provide AliasAnalysis services for optimizations. addInitialAliasAnalysisPasses(PM); @@ -263,9 +264,9 @@ void PassManagerBuilder::populateLTOPassManager(PassManagerBase &PM, PM.add(createFunctionAttrsPass()); // Add nocapture. PM.add(createGlobalsModRefPass()); // IP alias analysis. - PM.add(createLICMPass()); // Hoist loop invariants. - PM.add(createGVNPass()); // Remove redundancies. - PM.add(createMemCpyOptPass()); // Remove dead memcpys. + PM.add(createLICMPass()); // Hoist loop invariants. + PM.add(createGVNPass(DisableGVNLoadPRE)); // Remove redundancies. + PM.add(createMemCpyOptPass()); // Remove dead memcpys. // Nuke dead stores. PM.add(createDeadStoreEliminationPass()); |

