[tree-ssa] Translation out of SSA

law@redhat.com law@redhat.com
Fri Apr 25 08:01:00 GMT 2003


In message <1051239386.2396.84.camel@p4>, Andrew MacLeod writes:
 >> I wouldn't be terribly surprised if this isn't handled yet.  It's
 >> not particularly difficult to handle.
 >> 
 >> 
 >
 >Well, it doesn't right now, but it is trivial. You simply coalesce all
 >the things on abnormal edges first so that they aren't an issue later...
Yup.  I actually had a change which would identify the objects
where this was an issue, but I can't find it here right now.  It was
pretty trivial though.

 >> Unknown.  The most interesting thing I've run into in the insertion code
 >> is it mucked things up because we had different blocks recorded for
 >> the current statement and its container.  That caused all kinds of
 >> problems.
 >
 >really? That would be bad. Who made the stmt and its container have
 >different blocks? Thats not cool. 
Yea.  Then again, it may have been some of my code that mucked it up.
I've got two little passes here which do "interesting" things to the
tree structures.  Mostly they're collapsing BIND_EXPRs, removing
all the pesky empty_stmt_nodes jumps to the next instruction and the
like.  On one testcase I had this resulted in a 75% reduction in the
number of INSNs we create, more realistic tests indicate we should
expect a 1-2% reduction in INSNs from this initial hunk of work.

Anyway, it's entirely possible those changes mucked things up enough
to confuse the insertion routines when I had them running earlier in
the SSA path.

 >To be honest, I didn't even look at Morgans partitioner... I just wrote
 >one based on what I knew about coalescing... :-)  And yes, thats what it
 >does. Only maps it to a different temporary if it absolutely has to. The
 >plan will be to choose which ones get a different temporary carefully...
 >right now its pure first come-first serve. That'll be part and parcel
 >with the abnormal edge handling.
Yea, I thought of this possibility as well after I sent my message given
your background in partitioning and coalescing :-)

Regardless, Morgan's real partitioner has similar goals to yours.

Jeff



More information about the Gcc mailing list