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