LLVM 2.7 released
After six months of development, the LLVM developers have released version 2.7 of the Low Level Virtual Machine compiler infrastructure. The new release includes the ability to self-host the Clang compiler which the announcement called "a major milestone in any compiler's development and particularly notable considering the complexity of implementing C++".
Other enhancements to LLVM include new target architectures, a native code disassembler API, more memory efficient debug information, a new meta-data system allowing compilers to mark up generated code with language specific optimisations, and, as witnessed by Clang's self-hosting, major progress in C++ support. ARM support has been improved and Clang supports the ABI's of both Linux and Darwin on ARM, along with improvements in LLVM's ARM back-end such as NEON instruction set support, allowing the developers to say Clang is now suitable for use as a beta quality ARM compiler. These, and the many other improvements in LLVM 2.7, are detailed in the release notes.
The LLVM project, started in 2000 at the University of Illinois and, supported by Apple, Adobe and others, is developing a virtual machine and compilation system which allows for optimisation of intermediate code at compile, link and runtime. Initially targeted at working with C/C++ code, the project's community has developed front-ends to handle Java byte code, Microsoft's CIL, Python and various Ruby implementations. LLVM is licensed under the University of Illinois/NCSA Open Source License and can be downloaded from the project's releases page.