The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. This package includes the LLVM Core and the Clang compiler suite. The LLVM Core libraries provide a modern source- and target-independent optimizer, along with code generation support for various popular CPUs (i386, amd64, powerpc and arm are major targets). These libraries are built around a well specified code representation known as the LLVM intermediate representation ("LLVM IR"). The LLVM Core libraries are well documented, and it is particularly easy to invent your own language (or port an existing compiler) to use LLVM as an optimizer and code generator. Clang is an "LLVM native" C/C++/Objective-C compiler, which aims to deliver fast compiles, extremely useful error and warning messages and to provide a platform for building great source level tools. The Clang Static Analyzer is a tool automatically finds bugs in your code, and is a great example of the sort of tool that can be built using the Clang frontend as a library to parse C/C++ code.
WWW: http://www.llvm.org/
None