Low-Level Virtual Machine 2.4 (Default branch)

Low-Level Virtual Machine (LLVM) is a compiler infrastructure designed for compile-time, link-time, run-time, and "idle-time" optimization of programs from arbitrary programming languages. It currently supports compilation of C, Objective-C, and C++ programs, using front-ends derived from GCC 4.0, GCC 4.2, and a custom new front-end, "clang". It supports x86, x86_64, ia64, PowerPC, and SPARC, with support for Alpha and ARM under development.License: OSI ApprovedChanges:
This release includes improved compilation speed, support for multiple return values in LLVM IR, and initial support for PIC16. llvmc2 (the generic compiler driver) gained plugin support. It is now easier to experiment with llvmc2 and build your own tools based on it. This release also includes an optional build system based on CMake. It still is in its early stages, but can be useful for Visual C++ users who cannot use the Visual Studio IDE. Other improvements in LLVM internals include a more efficient representation that leads to lower memory usage and better vector support.

More...