This is the mail archive of the
mailing list for the GCC project.
Re: proposal for compilation unil wide alias analyis
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Mark Mitchell <mark at codesourcery dot com>
- Cc: Zack Weinberg <zack at codesourcery dot com>, Diego Novillo <dnovillo at redhat dot com>, Jan Hubicka <jh at suse dot cz>, Ken Zadeck <zadeck at naturalbridge dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, Stuart Hastings <stuart at apple dot com>, Geoff Keating <geoffk at apple dot com>, Devang Patel <dpatel at apple dot com>, Daniel Berlin <dberlin at dberlin dot org>, Dale Johannesen <dalej at apple dot com>, Ron Price <ronp at apple dot com>
- Date: Sat, 26 Jun 2004 18:54:28 -0400
- Subject: Re: proposal for compilation unil wide alias analyis
- References: <40DB07B2.email@example.com> <20040625220852.GA17010@kam.mff.cuni.cz> <firstname.lastname@example.org> <email@example.com> <40DDD35B.firstname.lastname@example.org>
>>>>> Mark Mitchell writes:
Mark> The Laffer curve argument (we can remove so much code in the optimizers
Mark> so quickly that generating the code will actually be faster) seems to me
Mark> like it is one that should be proven experimentally before we commit to it.
The argument that running some simple optimizations at -O0
decreases the amount of intermediate code and improves the compilation
speed of a compiler is proven experimentally by the IBM XLC Compiler.
That is exactly the technique that XLC uses, with extremely careful,
empirical tests of which fine-grained optimizations should be enabled to
produce the best compilation performance. We need to test that such a
technique has a beneficial effect on GCC, but there is no question that
the technique can be effective.
As a side note, I believe that Apple Computer, which is very vocal
about compilation speed, generally considers XLC a good example of a
compiler with fast compilation speed at -O0.
 The decision to not enable a particular XLC optimization at -O0 that
affects where XLC looks for function parameters (probably something
related to dead store elimination) is the reason that XLC looks in the
stack parameter block at -O0, which prompted the need for the -mxl-call
compatibility option for GCC on AIX. I am pointing this out to emphasize
the detailed cost-benefit analysis that XLC uses when choosing which
optimizations to enable at -O0.