Commit f8fd49b5 by Richard Henderson Committed by Richard Henderson

tree-eh.c (unsplit_eh): Do not unsplit if there's already an edge to the new destination block.

        * tree-eh.c (unsplit_eh): Do not unsplit if there's already
        an edge to the new destination block.

From-SVN: r152310
parent 062a5fd1
2009-09-29 Richard Henderson <rth@redhat.com>
* tree-eh.c (unsplit_eh): Do not unsplit if there's already
an edge to the new destination block.
2009-09-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2009-09-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/41393 PR target/41393
...@@ -3369,6 +3369,12 @@ unsplit_eh (eh_landing_pad lp) ...@@ -3369,6 +3369,12 @@ unsplit_eh (eh_landing_pad lp)
return false; return false;
} }
/* The new destination block must not already be a destination of
the source block, lest we merge fallthru and eh edges and get
all sorts of confused. */
if (find_edge (e_in->src, e_out->dest))
return false;
/* ??? I can't imagine there would be PHI nodes, since by nature /* ??? I can't imagine there would be PHI nodes, since by nature
of critical edge splitting this block should never have been of critical edge splitting this block should never have been
a dominance frontier. If cfg cleanups somehow confuse this, a dominance frontier. If cfg cleanups somehow confuse this,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment