This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Inlining vs gimple vs compound expressions
- From: Andrew MacLeod <amacleod at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Steven Bosscher <s dot bosscher at student dot tudelft dot nl>,Diego Novillo <dnovillo at redhat dot com>,Jason Merrill <jason at redhat dot com>, gcc at gcc dot gnu dot org,Paul Brook <paul at nowt dot org>
- Date: 27 Feb 2003 16:00:58 -0500
- Subject: Re: [tree-ssa] Inlining vs gimple vs compound expressions
- References: <200302272101.h1RL1SbN032392@localhost.redhat.com>
On Thu, 2003-02-27 at 16:01, law at redhat dot com wrote:
> In message <1046378181 dot 760 dot 91 dot camel at steven>, Steven Bosscher writes:
> >Op do 27-02-2003, om 20:46 schreef law at redhat dot com:
> >>
> >>
> >> Diego/Andrew -- Back when we were in Toronto, we discussed getting rid of
> >> COMPOUND_EXPRs. Where do we stand on this?
> >
> >For those who are trying to write a front end that is based on the
> >tree-ssa work, would you please be more specific about what you mean
> >with "getting rid of COMPOUND_EXPRs"? Does it mean that GENERIC/GIMPLE
> >will not use them anymore?
> Basically CEs are a rather heavy-weight means to link trees together, both
> in terms of their memory requirements and the silly requirement that
> have to strip them away anytime we want to do anything with the underlying
> node.
>
> If you're not careful you start to end up with STRIP_foo things everywhere
> because you don't ever know if you're looking at the real node or the CE
> container. And you still miss some, leading to weird failures because
> you were looking at the container rather than the real expression.
>
> The basic idea was to avoid all that crazyness with a scheme that worked
> better. However, based on messages from Andrew it doesn't sound like
> CEs will be going away anytime soon.
>
They might not be going away, but they will be transparent. You should
never have to look for or create a CE node explicitly. You *should* be
able to do everything through iterators and iterator manipulators.
Thats the plan anyway :-)
Andrew