From bf727ba371e6a39f865a76064cb20a6a8df07cbf Mon Sep 17 00:00:00 2001 From: Wei Mi Date: Thu, 14 May 2015 22:02:54 +0000 Subject: 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 --- llvm/lib/Transforms/IPO/PassManagerBuilder.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'llvm/lib/Transforms') 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()); -- cgit v1.2.3