This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: proposal for compilation unil wide alias analyis
- From: Jeffrey A Law <law at redhat 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>, David Edelsohn <dje at watson dot ibm dot com>, Dale Johannesen <dalej at apple dot com>, Ron Price <ronp at apple dot com>
- Date: Mon, 28 Jun 2004 10:38:06 -0600
- Subject: Re: proposal for compilation unil wide alias analyis
- Organization: Red Hat, Inc
- References: <40DB07B2.1090108@naturalbridge.com> <20040625220852.GA17010@kam.mff.cuni.cz> <1088209471.17853.55.camel@localhost.localdomain> <874qoy6rhn.fsf@taltos.codesourcery.com> <40DDD35B.6010702@codesourcery.com>
- Reply-to: law at redhat dot com
On Sat, 2004-06-26 at 13:49, Mark Mitchell wrote:
> Zack Weinberg wrote:
>
> >There is also an argument from ease of maintenance, for having just
> >one pipeline from source to object code - in other words, enabling
> >optimization only enables more passes, it doesn't switch from a
> >'stupid' pass to a 'smart' one. In particular, if it makes sense to
> >rewrite the tree-to-RTL expander such that it expects to be fed SSA
> >form GIMPLE, then we should always give it SSA form GIMPLE, rather
> >than keeping around another tree-to-RTL expander that can cope with
> >non-SSA form or even GENERIC.[2]
> >
> >
> I agree with the ease-of-maintenance argument, but I'm not sure it
> should triumph. For speed of -O0 comilation, avoiding going into SSA
> form at all seems like it would be a win. In other words, I'd expect
> that having the tree-to-RTL expanders take GENERIC -- or even
> near-generic with callbacks into the front end to expand non-GENERIC
> bits to GENERIC on the fly -- would be a win over forcing everything to
> be converted to SSA GIMPLE first. The fewer passes we make over the
> tree structure, the better.
Note that in a -O0 scenario, we could consider going into SSA form
to get uninitialized warnings and some simple const/copy propagation.
If done correctly, we could avoid the out-of-ssa step and just drop
the SSA version numbers. The out-of-ssa step is a significant
component of the compile time cost of the SSA path.
jeff