[llvm] r229419 - Run LICM as part of the cleanup phase from the scalar optimizer.

James Molloy james.molloy at arm.com
Mon Feb 16 10:59:54 PST 2015


Author: jamesm
Date: Mon Feb 16 12:59:54 2015
New Revision: 229419

URL: http://llvm.org/viewvc/llvm-project?rev=229419&view=rev
Log:
Run LICM as part of the cleanup phase from the scalar optimizer.

Things like LoopUnrolling can produce loop invariant values - make sure
we pick them up.

Modified:
    llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp

Modified: llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp?rev=229419&r1=229418&r2=229419&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp Mon Feb 16 12:59:54 2015
@@ -259,6 +259,7 @@ void PassManagerBuilder::populateModuleP
   MPM.add(createJumpThreadingPass());         // Thread jumps
   MPM.add(createCorrelatedValuePropagationPass());
   MPM.add(createDeadStoreEliminationPass());  // Delete dead stores
+  MPM.add(createLICMPass());
 
   addExtensionsToPM(EP_ScalarOptimizerLate, MPM);
 





More information about the llvm-commits mailing list