LLVM 1.4 Released

LLVM 1.4 is now out in the wild. This release adds a large number of new features including JIT support for PowerPC machines, improved debugging information with the C/C++ front-end, better optimizers, new archive support, and a new compiler driver.

Get it now!

-Chris

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Sweet!

This sounds great. Thanks for the new PowerPC coverage!

For marco

...who wrote:

I am kind of hoping that I can stay away from generating assembly for some target machine and the latest gcc hacks seem to make C and C++ a great target language.

LLVM can emit C source as an output option. From LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation:

Compared to source languages, LLVM is a much lower level representation. Even C, which itself is quite low-level, has many features which must be lowered by a compiler targeting LLVM. For example, complex numbers, structure copies, unions, bit-fields, variable sized arrays, and setjmp/longjmp all must be lowered by an LLVM C compiler. In order for the representation to support effective analyses and transformations, the mapping from source language features to LLVM should capture the high-level operational behavior as cleanly as possible.

We discuss this issue by using C++ as an example, since it is the richest language for which we have an implemented front-end. We believe that all the complex, high-level features of C++ are expressed clearly in LLVM, allowing their behavior to be effectively analyzed and optimized.