summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
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
commitbf727ba371e6a39f865a76064cb20a6a8df07cbf (patch)
treef242b9620f4c266112f006aa3d02a3baf85229ef /llvm/lib/Transforms
parent95a77e8901772a586884fed188e171ca17052383 (diff)
downloadbcm5719-llvm-bf727ba371e6a39f865a76064cb20a6a8df07cbf.tar.gz
bcm5719-llvm-bf727ba371e6a39f865a76064cb20a6a8df07cbf.zip
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 llvm-svn: 237395
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/IPO/PassManagerBuilder.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp b/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
index 94d419fc7f3..3b21d3f0cb1 100644
--- a/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ b/llvm/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());
OpenPOWER on IntegriCloud