LLVM 3.4 Isn't Out Yet, But It Will Be Exciting
There's been no release tagging or announcement yet, nor any communication about any delays, but in the past we have seen LLVM compiler infrastructure releases slip by a few days. There's been many Phoronix articles about LLVM 3.4 features, but for those that aren't up to date in their Phoronix readings, some of the major highlights include:
- The AMD R600 GPU LLVM back-end is no longer considered "experimental" and is enabled/built by default. This R600 GPU is mandated for RadeonSI Gallium3D usage, is optionally used by the R600g driver for a shader compiler, and is necessary for open-source Radeon OpenCL support. There's been a ton of improvements to the R600 LLVM back-end in LLVM 3.4.
- The Loop Vectorizer is now also used at -Os and -O2 optimization levels compared to just -O3 in LLVM 3.3.
- The new SLP Vectorizer has been enabled by default.
- Major work has been done on improving and extending the LLVM OCaml bindings.
- Support for the MIPS SIMD Architecture (MSA).
- Many improvements to the PowerPC back-end with faster code generation, support for new CPU features, bug-fixes, and much more.
- Experimental SPARC V9 back-end, SPARC JIT support, and many other SPARC architecture improvements.
Check out other Phoronix articles (e.g. this one) for more details on the LLVM 3.4 changes. On Phoronix I have also already run multiple LLVM Clang 3.4 compiler benchmarks as well. Stay tuned for forthcoming news about the official LLVM 3.4 release.