[tree-ssa] Insert on edge comment
Andrew MacLeod
amacleod@redhat.com
Tue Jun 10 16:35:00 GMT 2003
On Tue, 2003-06-10 at 12:05, law@redhat.com wrote:
> In message <1054566811.3054.150.camel@p4>, Andrew MacLeod writes:
> >On Sat, 2003-05-31 at 22:01, law@redhat.com wrote:
> >> In message <Pine.LNX.4.44.0305311132300.22731-100000@nondot.org>, Chris Lat
> >tner
> >> writes:
> >> >IMO, the real problem in tree-ssa is that it uses a nested control flow
> >> >structure instead of a linearized one...
> >> Amen. It's a model I'd like to move away from, it introduces a fair
> >> amount of complexity. However, it's pretty far down on the list of
> >> things to do right now, but it's definitely on my list.
> >>
> >Well, the longer it left, the more impossible it becomes to remove...
> >So if there is a plan or thought to change it, it ought to be sooner
> >rather than later...
> I agree absolutely. My concern is I think we've done enough major work
> underneath at this time -- the more underlying stuff we redesign and
> reimplement, the longer this process takes -- and as you know, we have
> some deadlines looming :-)
>
> Now it may turn out that it will be convenient to tackle this while we're
> dealing with the performance issues (because we know we're going to be
> spending some time cleaning up the tree->rtl conversion process). If
> things turn out that way, well, we'll have to deal with it at that time.
>
We don't have the equivilent of a conditional goto do in GIMPLE do we?
We use a COND_EXPR with a GOTO in the THEN branch right?
we need a conditional goto/branch of some sort in order to turn our
LOOP, COND equivilent non-container code with goto's.. So we need
something like
GOTO_IF_NONZERO (var) label
GOTO_IF_ZERO (var) label
We could then lower from containers whenever we felt the need, either at
the beginning before loop optimizations or afterwards at the same time
we lower ARRAY and COMPONENT refs. Current optimizations would then
work on either GIMPLE or lowered GIMPLE, once they are taught about
these opcodes.
Does that make any sense? It doesnt seem like a lot of work...
Andrew
More information about the Gcc
mailing list