[SLP Vectorizer][Patch 1/2] Add slp vectorization to LTO passes

yijiang yjiang at apple.com
Mon Apr 28 17:42:39 PDT 2014


Hi,

LTO could resolve more alias and expose more opportunities in slp vectorizer. According to the experiment, there is no noticeable regression on compile time and execution time on test suite. We observe 2.2% improvement on spec2000 eon under -O3 -lto if with the second patch in SLP Vectorizer. 



Index: lib/Transforms/IPO/PassManagerBuilder.cpp
===================================================================
--- lib/Transforms/IPO/PassManagerBuilder.cpp	(revision 207367)
+++ lib/Transforms/IPO/PassManagerBuilder.cpp	(working copy)
@@ -341,6 +341,9 @@
   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());
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140428/7521f2b3/attachment.html>


More information about the llvm-commits mailing list