LLVM 3.4 Compiler Officially Released With Many Features
It's nearly one month late but the LLVM 3.4 compiler infrastructure is now available with the updated Clang C/C++ compiler front-end, the usual LLVM sub-projects, and also some new compiler tools.
At Phoronix I've already written dozens of articles on LLVM 3.4, including last month's feature overview. Some of the major features to this six-month update for LLVM 3.4 includes enabling the AMD GPU back-end by default for use with the open-source AMD Linux graphics driver, a new Clang-Format utility for auto-formatting code, a Microsoft Visual Studio driver, the loop vectorizer is now used more broadly at more optimization levels, the SLP straight-line vectorizer is turned on by default, there's support for the MIPS SIMD architecture, experimental SPARC V9 support, and many other features.
About the code generation performance, Chris Lattner's 3.4 release announcement additionally mentions, "In the code generator, overall performance is greatly increased. Notably, the loop auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The SLP auto-vectorizer is now enabled by default as well. Many targets have made major leaps, but the R600 target is now built by default (instead of experimental), the PowerPC backend has made several major improvements to code generation quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ backends have all seen major feature work."
Other changes for the LLVM 3.4 compiler release can be found via the release notes hosted at LLVM.org.
On Phoronix the LLVM/Clang 3.4 compiler code has been benchmarked on multiple occasions. The most recent tests showed Clang 3.4 performing very well against GCC 4.9 and the overall compiler performance doing well. Now that LLVM 3.4 has been officially christened there will be a fresh round of stable compiler tests on multiple systems as well as new benchmarks of the AMD GPU LLVM back-end.