[gambit-list] A couple of random questions

Bradley Lucier lucier at math.purdue.edu
Tue Aug 2 13:40:57 EDT 2011


On Tue, 2011-08-02 at 12:27 -0400, Alexandre Abreu wrote:

> I am not on top of things regarding the why's, but being in full
> control of the tool chain is definitelysomething that motivated Apple
> to go forward w/ LLVM. For example, it was a complicated task to have
> compiler pluginsin gcc as LLVM has. R.Stallman resisted this new gcc
> feature for some time, it is now part of the gcc feature set.

Whether it's a coincidence or not, Apple engineers stopped contributing
code to gcc when the license was changed to GPLv3.  And even though I
followed gcc development for about 10 years (but not so much any more),
I wouldn't feel comfortable speculating about Apple's reasons for
distancing themselves from current gcc development.

I recommend that people finding bugs, or just inefficiencies either in
the code generated by LLVM or in LLVM's algorithms themselves, file bug
reports with Apple.  I've filed many bugzilla reports with the GCC
developers based on my experiences using gcc to compile Gambit-generated
C code; generally speaking, these problems have been fixed, and I
believe fixing them improved the general quality of the compiler and led
to smoother implementations of inter-procedural analysis and
optimizations.

For example, when built with --enable-single-host, Gambit generates C
files that have tens of thousands of virtual registers and basic blocks,
thousands of computed goto targets, etc., which illuminated quite
rapidly algorithms whose complexity was quadratic or worse.  When the
GCC developers replaced these with better algorithms, they were in a
better position some years later when they implemented
Link-Time-Optimization.

Brad




More information about the Gambit-list mailing list