Enable loop-rotate before loop-vectorize by default

Hal Finkel hfinkel at anl.gov
Tue Mar 10 11:28:44 PDT 2015


Hi Michael,

Yes, I think this makes sense. Loops that are rotated are our canonical form regardless. Please go ahead.

 -Hal

----- Original Message -----
> From: "Michael Zolotukhin" <mzolotukhin at apple.com>
> To: "LLVM Commits" <llvm-commits at cs.uiuc.edu>
> Cc: "Hal J. Finkel" <hfinkel at anl.gov>, "Chandler Carruth" <chandlerc at google.com>, "Arnold Schwaighofer"
> <aschwaighofer at apple.com>, "Nadav Rotem" <nrotem at apple.com>
> Sent: Tuesday, March 10, 2015 1:21:16 PM
> Subject: Enable loop-rotate before loop-vectorize by default
> 
> 
> 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
> 
> [2]
> 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
> 
> 
> Thanks,
> Michael

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory




More information about the llvm-commits mailing list