As planned, version 2.9 of the Low-Level Virtual Machine was released over the night. LLVM 2.9 brings many interesting updates to this compiler infrastructure and to Clang, which is the C/Objective-C/C++ compiler front-end, and other components.
The Clang compiler front-end has improved support for C++0x, is more compatible to build the Linux kernel (though not yet working with upstream kernel), better code generation, etc.
DragonEgg, which is a dynamic GCC plug-in that uses the GNU Compiler Collection on the front-end but LLVM on the back-end for its optimizers and code generations, now better works with Fortran and compiling Java no longer crashes the plug-in.
libc++, the new C++ standard library implementation, has had various bug-fixes and matured along side the C++0x support in Clang.
LLVM 2.9 itself now supports Type Based Alias Analysis, greater debugging information, has a new back-end for the NVIDIA PTX virtual ISA, continued improvements to the quality of the debugging information, LLVM IR improvements, link time optimization enhancements, and also updates to the LLVM optimizers.
Read more in the lengthy LLVM 2.9 release notes
. This open-source Apple-sponsored compiler can be downloaded at LLVM.org
. Its release follows the recent GCC 4.6 and PCC 1.0 releases.
There's also a Low-Level Virtual Machine track today at the Linux Foundation Collaboration Summit. Matthew Tippett and I will be speaking at the LLVM track about benchmarking of LLVM with the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org. Slides should be on Phoronix shortly thereafter for those not in attendance.