Enable loop-rotate before loop-vectorize by default

Michael Zolotukhin mzolotukhin at apple.com
Tue Mar 10 11:21:16 PDT 2015


Hi,

Some time ago we introduced extra-vectorizer-passes flag ([1]), which enables a set of passes before and after loop-vectorizer. While some of them might be arguable ([2]), the others seem to be pretty cheap and beneficial: e.g. loop-rotate. Vectorizer only handles rotated-loops ([3]), so running loop-rotate before it potentially creates additional vectorization opportunities (and I’ve already seen cases where vectorizer failed to do anything because the loop was not bottoms-tested). Is it ok to enable this pass by default now? The compile time change with this patch is under the noise level (I measured it on SPEC2006 build with O3,PGO, and LTO).



[1] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141013/239767.html <http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141013/239767.html>
[2] http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-October/077765.html <http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-October/077765.html>
[3] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141201/246941.html <http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141201/246941.html>

Thanks,
Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150310/f44ecdc8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: loop-rotate.patch
Type: application/octet-stream
Size: 737 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150310/f44ecdc8/attachment.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150310/f44ecdc8/attachment-0001.html>


More information about the llvm-commits mailing list