Compared to the GNU Compiler Collection seeing just about one major update per year, LLVM sees new releases about every six months. LLVM 3.3 came in June and was a great update, but LLVM 3.4 will bring even more to this increasingly used and relied upon open-source compiler stack and its C/C++ compiler front-end.
Among the items queued up right now in mainline LLVM 3.4 include:
- Expanded use of the Loop Vectorizer. LLVM's Loop Vectorizer was already in use for the -O3 optimization level in LLVM 3.3, but now it's also used at -O2 and -Os optimization levels too.
- AMD's R600 back-end is now enabled by default and is no longer marked as being an experimental LLVM back-end.
- The R600 LLVM back-end now supports MSAA and various other new functionality for the GPU LLVM back-end. There's also Sea Islands Compute Support.
- NEON support for AArch64, the 64-bit ARM architecture back-end support in LLVM.
- The SLP Vectorizer is enabled by default. The LLVM SLP Vectorizer was introduced with 3.3 and optimizes the performance of straight-line code.
- Dropping old Visual Studio support and other old/deprecated LLVM code.
- Some compiler performance changes.
- On a related note, the LLDB debugger now has better remote debugging capabilities.
More LLVM / Clang 3.4 coverage will come as the official release approaches.