[tree-ssa] Insert on edge comment

Michael Matz matz@suse.de
Fri May 30 23:31:00 GMT 2003


Hi,

On Fri, 30 May 2003 law@redhat.com wrote:

> In tree-ssa you have to keep the control nesting stuff correct in
> addition to inserting the new code and redirecting the jumps (and the
> jumps may be implicit in the control structures rather than explicit in
> the IR).

I'm sure you know.  But this has serious implications for any code moving
optimization like PRE.  For those being able to split edges is crucial.
I.e. I hope the (obivously) complicated process to implement it is
worthwhile ;-)

Btw. I dislike any implicit knowledge ;)  It tends to make things hard.

> I don't think anyone is saying it's impossible, it just has more
> complications than doing splitting on a linear form such as RTL.

Hmm.  Does this mean, that for instance this expression:

  a/b*c+f(g,h(i))

is represented as one tree (seen from the top), which magically has three
to five (depending on how * and + are defined) outgoing "edges", which
refer to the following statement resp. the reached exception handler?
Let's say it this way: ugh.  Remind me again:  why would we want to do
basic block based optimizations on such an IR?  I'm not pessimistic yet,
but hiding control flow in this way seems wrong to me, and I would like to
learn the reasons why it isn't.


Ciao,
Michael.



More information about the Gcc mailing list