summaryrefslogtreecommitdiff
path: root/lib/Transforms/IPO
diff options
context:
space:
mode:
authorYi Jiang <yjiang@apple.com>2014-05-05 23:14:46 +0000
committerYi Jiang <yjiang@apple.com>2014-05-05 23:14:46 +0000
commite3b906eb39e808b19755a6ea87a160343bd2abbd (patch)
treeb1b9f56ccdad1dead7852b67d6c89a5101e04931 /lib/Transforms/IPO
parentbb95032999e5ef066f8f4a28e106cf3484b02e5a (diff)
downloadllvm-e3b906eb39e808b19755a6ea87a160343bd2abbd.tar.gz
llvm-e3b906eb39e808b19755a6ea87a160343bd2abbd.tar.bz2
llvm-e3b906eb39e808b19755a6ea87a160343bd2abbd.tar.xz
Reapply: Add slp vectorization to LTO passes. The bug it exposed has been fixed by r207983. <radar://16641956>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208013 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/IPO')
-rw-r--r--lib/Transforms/IPO/PassManagerBuilder.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Transforms/IPO/PassManagerBuilder.cpp b/lib/Transforms/IPO/PassManagerBuilder.cpp
index 01ab31deca..10c51ab553 100644
--- a/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ b/lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -341,6 +341,9 @@ void PassManagerBuilder::populateLTOPassManager(PassManagerBase &PM,
PM.add(createLoopDeletionPass());
PM.add(createLoopVectorizePass(true, true));
+ // More scalar chains could be vectorized due to more alias information
+ PM.add(createSLPVectorizerPass()); // Vectorize parallel scalar chains.
+
// Cleanup and simplify the code after the scalar optimizations.
PM.add(createInstructionCombiningPass());