Linked by Thom Holwerda on Sat 29th Sep 2007 21:26 UTC, submitted by Chris Lattner
General Development The LLVM Project recently released a new version of their compiler, optimizer and code generators. LLVM includes a drop-in GCC-compatible C/C++ and ObjC compiler, mature optimization technology (including cross file/whole program optimization), and a highly optimizing code generator. For people who enjoy hacking on compilers and runtimes, LLVM provides libraries for implementing custom optimizers and code generators including JIT compiler support. This release is the first to provide beta GCC 4.2 compatibility as well as the new "clang" C/ObjC front-end, which provides capabilities to build source-to-source translators and many other tools.
Thread beginning with comment 275317
To read all comments associated with this story, please click here.
by samad on Sun 30th Sep 2007 05:21 UTC
Member since:

I write a lot of software, mostly in Java. What is the benefit of LLVM for C/C++ developers? Is it to run your code in a closed environment that can be more easily analyzed than running the program straight on the CPU?

The homepage states:
LLVM is "a compilation strategy designed to enable effective program optimization across the entire lifetime of a program."
What does that REALLY mean for programmers without any of that fancy jargon?

Reply Score: 1

RE: Question
by saxiyn on Sun 30th Sep 2007 05:55 in reply to "Question"
saxiyn Member since:

"What is the benefit of LLVM for C/C++ developers?"

It's dead simple. LLVM generates faster code (better optimization) in less time (better optimization architecture).

There are interfaces to JIT and optimization passes, but they aren't interesting unless you are a compiler developer.

Reply Parent Score: 10

RE: Question
by Ponto on Sun 30th Sep 2007 09:10 in reply to "Question"
Ponto Member since:

An analog question would be: What benefits has the JVM for a Java developer?

In the same way one can natively compile Java programs one can use C/C++ with a VM.

Reply Parent Score: 1

RE: Question
by jgfenix on Sun 30th Sep 2007 13:07 in reply to "Question"
jgfenix Member since:

It means it can use the "classic" optimizations (at the source level), link-time optimizations, and profile-guided optimizations (at run-time).

Reply Parent Score: 2