aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgcleanup.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-06-10 23:36:15 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2002-06-10 23:36:15 +0200
commit2bf87216b2fe2fa2dca9c565771006d355e4f6d8 (patch)
tree7ec1ac88f5e3d19ee1a46df7ee82526f46053be6 /gcc/cfgcleanup.c
parent135fd2d8604aa7c1cdaee281d420a922e1234aef (diff)
downloadgcc-2bf87216b2fe2fa2dca9c565771006d355e4f6d8.zip
gcc-2bf87216b2fe2fa2dca9c565771006d355e4f6d8.tar.gz
gcc-2bf87216b2fe2fa2dca9c565771006d355e4f6d8.tar.bz2
cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't merge bb with itself.
* cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't merge bb with itself. * gcc.c-torture/compile/20020605-1.c: New test. From-SVN: r54456
Diffstat (limited to 'gcc/cfgcleanup.c')
-rw-r--r--gcc/cfgcleanup.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index 2e6e02d..74b8d33 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -1675,6 +1675,7 @@ try_optimize_cfg (mode)
&& !(s->flags & EDGE_COMPLEX)
&& (c = s->dest) != EXIT_BLOCK_PTR
&& c->pred->pred_next == NULL
+ && b != c
/* If the jump insn has side effects,
we can't kill the edge. */
&& (GET_CODE (b->end) != JUMP_INSN