diff options
author | Geoff Berry <gberry@codeaurora.org> | 2017-03-02 16:16:47 +0000 |
---|---|---|
committer | Geoff Berry <gberry@codeaurora.org> | 2017-03-02 16:16:47 +0000 |
commit | 484d7565832d54d3cb23aedb2789d6973a1ae0c8 (patch) | |
tree | 7b7f7c0194e078518183263091e54b24c8a5cc27 /llvm/lib/Transforms/IPO/PassManagerBuilder.cpp | |
parent | b7f6fe46587a5f9b58b521e298f2e756a3cc6c91 (diff) | |
download | bcm5719-llvm-484d7565832d54d3cb23aedb2789d6973a1ae0c8.tar.gz bcm5719-llvm-484d7565832d54d3cb23aedb2789d6973a1ae0c8.zip |
Re-apply "[GVNHoist] Move GVNHoist to function simplification part of pipeline."
This re-applies r289696, which caused TSan perf regression, which has
since been addressed in separate changes (see PR for details).
See PR31382.
llvm-svn: 296759
Diffstat (limited to 'llvm/lib/Transforms/IPO/PassManagerBuilder.cpp')
-rw-r--r-- | llvm/lib/Transforms/IPO/PassManagerBuilder.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp index 59605d58084..5938d4499c2 100644 --- a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp +++ b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp @@ -244,8 +244,6 @@ void PassManagerBuilder::populateFunctionPassManager( FPM.add(createCFGSimplificationPass()); FPM.add(createSROAPass()); FPM.add(createEarlyCSEPass()); - if(EnableGVNHoist) - FPM.add(createGVNHoistPass()); FPM.add(createLowerExpectIntrinsicPass()); } @@ -290,6 +288,8 @@ void PassManagerBuilder::addFunctionSimplificationPasses( // Break up aggregate allocas, using SSAUpdater. MPM.add(createSROAPass()); MPM.add(createEarlyCSEPass()); // Catch trivial redundancies + if(EnableGVNHoist) + MPM.add(createGVNHoistPass()); // Speculative execution if the target has divergent branches; otherwise nop. MPM.add(createSpeculativeExecutionIfHasBranchDivergencePass()); MPM.add(createJumpThreadingPass()); // Thread jumps. |