This is a great new release with a whole host of new features. The LLVM optimizer and backend sees continued performance improvement and compile time improvements, as well as support for new targets and improvements to existing ones. For example, Clang can self host on Linux/Sparc64 and FreeBSD/Sparc64 machines, the ARM integrated assembler now supports many GNU extensions and directives (and is on by default in Clang), LLVM supports Release 6 of the MIPS32 and MIPS64 architecture (a major revision to the architecture), and the integrated assembler understands MIPS and PowerPC assembly. The AArch64 backend has also seen dramatic improvements in this release, including better code generation, support for iOS, and significantly faster compile times at -O0.
Clang makes a considerable jump forward as well, including new warnings and better support for new standards: in addition to full support for the recently completed C++’14 standard, it includes initial support for "C++1z” features. Additionally, it now supports generating “remarks” to indicate when optimizations like vectorization and inlining occur, allowing you to tune your programs more effectively. On Windows, Clang now uses the updated MingW ABI for compatibility with GCC 4.7 and later. Clang has also seen significant implementation progress on OpenMP support (but it is not generally usable yet).
LLVM 3.5 is the result of an incredible number of people working together over the last six months, but this release would not be possible without our volunteer release team! Thanks to our release manager Bill Wendling for making it all possible by shepherding the release, and to the awesome release testers: Renato Golin, Dimitry Andric, Sylvestre Ledru, Pawel Worach, Nikola Smiljanic, Sebastian Dreßler, Hans Wennborg, Arnaud Allard de Grandmaison, Daniel Sanders, and Ben Pope.
If you have questions or comments about this release, please contact the LLVMdev mailing list! Onward to LLVM 3.6!