[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