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 275349
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: An interesting project
by PlatformAgnostic on Sun 30th Sep 2007 14:12 UTC in reply to "An interesting project"
PlatformAgnostic
Member since:
2006-01-02

Yeah. There's ICC (Intel's compiler) and the Sun Studio Compiler series. Both of these are better for their preferred targets (x86 or SPARC) than the MS compiler or GCC. The MS compiler until recently produced slightly better code than GCC. By now it's probably neck and neck, but MSFT is doing a pretty major revision of their compiler backend right now that may (or may not) bring it back into the lead.

A real measure of how good a group is at producing compilers is what they do with Itanium. Itanium is heavily-dependent on the compiler to generate explicitly parallel code, so compiler quality matters a lot. The first compiler for such EPIC processors was the MultiFlow compiler (currently owned by Reservoir Labs and called Blackbird).

I'm not sure that codegen in the compiler is going to improve a whole lot in the future. The next direction will likely be theorem-proving compilers that output information about the purpose of the code they're generating and verify the type-safety, thread-safety, and other properties of the code. You can see a rudimentary form of this already with the PreFAST /analyze extensions in MS's compilers. If LLVM can bring this to open-source, then it will be a worthwhile replacement for GCC (and a good way to unshackle open-source from the FSF).

Reply Parent Score: 3

RE[2]: An interesting project
by cyclops on Sun 30th Sep 2007 15:36 in reply to "RE: An interesting project"
cyclops Member since:
2006-03-12

"If LLVM can bring this to open-source, then it will be a worthwhile replacement for GCC (and a good way to unshackle open-source from the FSF)."

I find this comment from a user like yourself a *strong* advocate of the Microsoft *proprietary* platform, somewhat ironic. I am pleased that you have again reinforced the fact that Richard Stallman created GCC and FSF have steered the project for *20 years*, but I suspect it is another off-topic slight against the FSF.

I would love to see justification as to why a project that involves mutual collaboration between *companies* is better in whole or in part controlled by a single company instead of an *organization*, especially since by your own point GCC is a cross-platform compiler unlike the proprietary one you advocate which is unavailable to any other platform but Microsoft's own, yet your advocating control of the compiler by companies who have an interest in only *their* platform.

Edited 2007-09-30 15:39

Reply Parent Score: 5

PlatformAgnostic Member since:
2006-01-02

I believe that allowing proprietary compiler backends can allow hardware firms to produce new chips with a smaller investment. GCC could have been the compiler that would plug into chip-specific codegen modules, but it was specifically designed to disallow this, because the FSF people are so small-minded and ungenerous (hint: even if a commercial company takes your code and tries to sell it to people, you haven't lost the code you've written, and with sufficient patent-lefting, you can always catch up to their improvements).

LLVM is designed in a better way to allow plugins to be made. It could become the backbone around which people bring new kinds of processors with differring codegen requirements to market. Even without that, as sbergman says, competiton is always a good thing.

Reply Parent Score: 1