LLVM/Clang Now Uses Loop Vectorizer At New Levels
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 and -Os 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.