diff options
author | Nadav Rotem <nrotem@apple.com> | 2012-10-17 18:25:06 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2012-10-17 18:25:06 +0000 |
commit | d15c0c7ac118cb23241b002e7206221283e36e2d (patch) | |
tree | aea1cb3e6632d32f869be6f231711c1629d4a31a /lib/Transforms/IPO/PassManagerBuilder.cpp | |
parent | 9d57cdfa172c1af3712ef52862a1976c57c679a5 (diff) |
Add a loop vectorizer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166112 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/IPO/PassManagerBuilder.cpp')
-rw-r--r-- | lib/Transforms/IPO/PassManagerBuilder.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Transforms/IPO/PassManagerBuilder.cpp b/lib/Transforms/IPO/PassManagerBuilder.cpp index a2862022a3..97698caa51 100644 --- a/lib/Transforms/IPO/PassManagerBuilder.cpp +++ b/lib/Transforms/IPO/PassManagerBuilder.cpp @@ -176,6 +176,12 @@ void PassManagerBuilder::populateModulePassManager(PassManagerBase &MPM) { MPM.add(createIndVarSimplifyPass()); // Canonicalize indvars MPM.add(createLoopIdiomPass()); // Recognize idioms like memset. MPM.add(createLoopDeletionPass()); // Delete dead loops + + if (Vectorize) { + MPM.add(createLoopVectorizePass()); + MPM.add(createLICMPass()); + } + if (!DisableUnrollLoops) MPM.add(createLoopUnrollPass()); // Unroll small loops addExtensionsToPM(EP_LoopOptimizerEnd, MPM); |