On 05/15/2013 02:44 AM, Richard Biener wrote:

Indeed.  I'd rather have a flag to the SESE copier that tells it the region
is SEME and in that case make it not update dominators but leave that
to the caller (which means, recompute them).  It seems the code already
handles ME regions if the other exits are "not important" (we don't have
to insert/update PHI nodes in those exit blocks), so it may be that there
are even more constraints on those unimportant exits due to the
iterative dominator update - I think that the entry block of the region
needs to dominate all exit destinations, otherwise get_dominated_by_region
is not working correctly.  In your case one exit is a back-edge?  We should
be able to add checking to the code to verify unimportant edges are
unimportant "enough".
There's definitely a backedge -- the whole point is to thread across the back edge which allows us to statically determine where the switch statement on the next iteration.

I'm sure Zdenek knows the limitations best.
Yea, I relied on Zdenek for a lot of the graph stuff in the past :-0

jeff

Reply via email to