summaryrefslogtreecommitdiff
path: root/lib/Transforms/IPO
diff options
context:
space:
mode:
authorWei Mi <wmi@google.com>2015-05-14 22:02:54 +0000
committerWei Mi <wmi@google.com>2015-05-14 22:02:54 +0000
commit95f7517f1bf0bc4d9dc29a8d07df8395d8abc906 (patch)
treeeee5e765e77bf33d8200c482415592710f65273b /lib/Transforms/IPO
parent42d0f8304e6b66d71f62701290628eb1378e57de (diff)
downloadllvm-95f7517f1bf0bc4d9dc29a8d07df8395d8abc906.tar.gz
Add another InstCombine pass after LoopUnroll.
This is to cleanup some redundency generated by LoopUnroll pass. Such redundency may not be cleaned up by existing passes after LoopUnroll. Differential Revision: http://reviews.llvm.org/D9777 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237395 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/IPO')
-rw-r--r--lib/Transforms/IPO/PassManagerBuilder.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Transforms/IPO/PassManagerBuilder.cpp b/lib/Transforms/IPO/PassManagerBuilder.cpp
index 94d419fc7f34..3b21d3f0cb13 100644
--- a/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ b/lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -382,6 +382,9 @@ void PassManagerBuilder::populateModulePassManager(
if (!DisableUnrollLoops) {
MPM.add(createLoopUnrollPass()); // Unroll small loops
+ // LoopUnroll may generate some redundency to cleanup.
+ MPM.add(createInstructionCombiningPass());
+
// This is a barrier pass to avoid combine LICM pass and loop unroll pass
// within same loop pass manager.
MPM.add(createInstructionSimplifierPass());