LLVM/Clang Now Uses Loop Vectorizer At New Levels

Written by Michael Larabel in LLVM on 17 June 2013 at 04:37 PM EDT. 1 Comment
LLVM
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 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.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week