mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-21 14:30:59 +08:00
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
This commit is contained in:
parent
062a5fd1c0
commit
f8fd49b549
@ -1,3 +1,8 @@
|
||||
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>
|
||||
|
||||
PR target/41393
|
||||
|
@ -3369,6 +3369,12 @@ unsplit_eh (eh_landing_pad lp)
|
||||
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
|
||||
of critical edge splitting this block should never have been
|
||||
a dominance frontier. If cfg cleanups somehow confuse this,
|
||||
|
Loading…
x
Reference in New Issue
Block a user