LLVM May Enable The SLP Vectorizer By Default

Written by Michael Larabel in LLVM on 14 July 2013 at 03:56 PM EDT. 2 Comments
LLVM
The LLVM compiler infrastructure may be generating some speedier binaries by default for the -O3 optimization level by turning on the straight-line SLP vectorizer.

LLVM's Loop Vectorizer is used at various compiler optimization levels but its newer SLP Vectorizer hasn't been turned on yet unless explicitly telling it to via a compiler flag (-fslp-vectorize). This may change though with an Apple LLVM developer now proposing the SLP Vectorizer go on for the -O3 performant level.

Back in May I ran benchmarks on the SLP Vectorizer with its introduction in LLVM 3.3. The SLP Vectorizer is about vectorizing straight-line code over loops.

The discussion about enabling the SLP Vectorizer can be found on the mailing list. It hasn't been decided for sure whether the SLP Vectorizer will be turned on, due to possible regressions in select workloads. However, ultimately I would anticipate the SLP Vectorizer to be turned on in due time for LLVM for delivering better performance. If it's turned on soon, it will be a feature of LLVM 3.4 that's due for release before year's end.
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