From: James Molloy Date: Mon, 16 Feb 2015 18:59:54 +0000 (+0000) Subject: Run LICM as part of the cleanup phase from the scalar optimizer. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=25a35b5639d9a0de64d1a60f8fb3453112f04a76;p=oota-llvm.git 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229419 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/IPO/PassManagerBuilder.cpp b/lib/Transforms/IPO/PassManagerBuilder.cpp index 0ea7ebd6b6a..00b8c7cbbd7 100644 --- a/lib/Transforms/IPO/PassManagerBuilder.cpp +++ b/lib/Transforms/IPO/PassManagerBuilder.cpp @@ -259,6 +259,7 @@ void PassManagerBuilder::populateModulePassManager( MPM.add(createJumpThreadingPass()); // Thread jumps MPM.add(createCorrelatedValuePropagationPass()); MPM.add(createDeadStoreEliminationPass()); // Delete dead stores + MPM.add(createLICMPass()); addExtensionsToPM(EP_ScalarOptimizerLate, MPM);