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


On Sat, 2003-05-31 at 16:49, Chris Lattner wrote:
> > > 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:

Ah good :-)

> 
> 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.

Yes, thats pretty much the relevant parts. Much more succinctly put than
I did :-) 

In fact, a lot of the complexity I've had to deal with (which is now
hidden by the insert routines), is actually determining where a new
instruction gets linked into the tree structure. The insert routines
have a pretty good handle on it now I think. And the critical edge code
is just beginning to get seriously exercised.

Andrew




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