aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgcleanup.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-05-17 08:48:19 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2005-05-17 08:48:19 +0200
commit7cbd12b88f5749676e888502453056fcc48cd61e (patch)
tree5683629f8c3f41248f9737c62c8e1e9255c55a85 /gcc/cfgcleanup.c
parentc477e13bd7d3f369cde2fbb171d8aa9501759373 (diff)
downloadgcc-7cbd12b88f5749676e888502453056fcc48cd61e.zip
gcc-7cbd12b88f5749676e888502453056fcc48cd61e.tar.gz
gcc-7cbd12b88f5749676e888502453056fcc48cd61e.tar.bz2
re PR middle-end/21492 (ICE in try_crossjump_to_edge)
PR middle-end/21492 * cfgcleanup.c (try_crossjump_to_edge): update_forwarder_flag for src2 if src2 has been split. * g++.dg/opt/crossjump1.C: New test. From-SVN: r99816
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r--gcc/cfgcleanup.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index e7df2ae..10e6f10 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -1677,6 +1677,8 @@ try_crossjump_to_edge (int mode, edge e1, edge e2)
delete_basic_block (to_remove);
update_forwarder_flag (redirect_from);
+ if (redirect_to != src2)
+ update_forwarder_flag (src2);
return true;
}