[tree-ssa] Insert on edge comment
Chris Lattner
sabre@nondot.org
Sat May 31 21:31:00 GMT 2003
> > Its only critical edges that we've been talking about, I just never
> > explicitly said that. The commit routines simply insert at the beginning
> > or end of the appropriate block if the edge isn't critical.
> Actually, it just occurred to me.... thats all i have ever been talking
> about actually.. is inserting on a critical edge... I guess I never
> explicitly said that did I? :-)
I actually did understand that. :) I was trying to address several
points in the thread:
1. Make sure people knew that only critical edges were the important ones
2. Point out that it's really trivial to update auxillary data structures
(including SSA, if you consider it auxilliary) on the fly, using only
local information.
3. Point out that things like "switch" statements and "infinite loop"
statements make things much harder. For example, in the case of the
switch statement, the edge breaker needs to know how to handle fall
through cases, and other stuff. This is the reason why a
multi-way-branch makes a bit more sense than a "source-level" switch
statement.
-Chris
>
> I have a tendancy to only talk about the interesting parts, bypassing
> the trivial bits since they seem obvious... Splitting critical edges is
> the only interesting part of inserting on an edge.. the others are
> turning into an insert_before (first_in_dest) or insert_after
> (last_in_src) if the edge isn't critical.
>
> That might solve some of the confusion about the "complexity" of our
> insert on edge :-)
>
> Andrew
>
-Chris
--
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/
More information about the Gcc
mailing list