Of Bounties and Mercenaries

Chris Lattner sabre@nondot.org
Tue Apr 6 05:24:00 GMT 2004


Stephan T. Lavavej wrote:
>[Ben Elliston]
>> This should be a side goal of future GCC work: to develop it
>> in a way that makes it easier for the uninitiated to hack on
>> it.  This includes removing complicated cruft and generally
>> trying to keep the code base small and as simple as possible.

> How about writing gcc in Modern, Standard C++?

You might be interested in LLVM: http://llvm.cs.uiuc.edu/

We are doing basically that.  The other advantage is that you can also use
algorithms and data structures that make sense in the process.  In C++
it's much easier to not use linked-lists for every data structure in the
compiler. :)  Using C++ well has been a HUGE reason that LLVM has made as
much progress as it has in the time it has existed (it's only 3.5 years
old, basically the same "age" as tree-ssa).

Despite the fact that LLVM makes EXTENSIVE use of the STL and other modern
C++ features, it can already bootstrap itself.  It also has a large number
of aggressive intra- and inter- procedural optimizations, a JIT compiler,
profile-driven optimization support, aggressive alias analysis, ...

> You could do away with your crazy garbage-collected C (double ugh).

Exactly.  In LLVM, the ownership model for IR objects is trivial,
completely eliminating the need for a GC.  This and many other things
makes the optimizer *FAST*.

-Chris

-- 
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/



More information about the Gcc mailing list