The LLVM Loop Vectorizer
is now being utilized by default at new optimization levels, in the name of faster performance.
Changed in the LLVM SVN/Git code for the LLVM 3.4 release (not the imminent LLVM 3.3) is greater use of the loop vectorizer, the compiler infrastructure's support for automatically vectorizing many different types of loops. This is a follow-up story to early in the month when talking about LLVM May Expand Its Use Of The Loop Vectorizer
With the latest LLVM code, the loop vectorizer is turned on for the -O2
levels, the mid-optimization level for performance and the optimization level for the smallest resulting binary size, respectively. The vectorizer is being used in these new cases for faster performance
. Previously this vectorizer was only used for -O3
, the most aggressive optimization level.
Separately, LLVM also with the 3.3 release has the SLP Vectorizer
but that's not touched by today's code commits.