<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Hi,</div><div><br></div>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. <div><br></div><div><br></div><div><br></div><div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">Index: lib/Transforms/IPO/PassManagerBuilder.cpp</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">===================================================================</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">--- lib/Transforms/IPO/PassManagerBuilder.cpp<span class="Apple-tab-span" style="white-space:pre">      </span>(revision 207367)</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">+++ lib/Transforms/IPO/PassManagerBuilder.cpp<span class="Apple-tab-span" style="white-space:pre">   </span>(working copy)</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">@@ -341,6 +341,9 @@</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">   PM.add(createLoopDeletionPass());</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">   PM.add(createLoopVectorizePass(true, true));</div><p style="margin: 0px; font-size: 11px; font-family: Menlo; min-height: 13px;"> <br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 11px; font-family: Menlo;">+  // More scalar chains could be vectorized due to more alias information</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">+  PM.add(createSLPVectorizerPass()); // Vectorize parallel scalar chains.</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">+</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">   // Cleanup and simplify the code after the scalar optimizations.</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">   PM.add(createInstructionCombiningPass());</div></div></body></html>