This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] Insert on edge comment


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]