]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't merge bb with itself.
authorJakub Jelinek <jakub@redhat.com>
Mon, 10 Jun 2002 21:39:48 +0000 (23:39 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 10 Jun 2002 21:39:48 +0000 (23:39 +0200)
* 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: r54458

gcc/ChangeLog
gcc/cfgcleanup.c
gcc/testsuite/ChangeLog

index db99dd9fec09164f9b8d96f3e44e8b01c0f68cee..a90a915f7bc7d1bf2769a9d353acdd4bc5f53438 100644 (file)
@@ -1,3 +1,8 @@
+2002-06-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
+       merge bb with itself.
+
 2002-06-07  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
index ed48b6ec67d43afdd46be4b03f67e7637d936d95..32ae77a3be6398703f46d6987671d9989fc8e9fc 100644 (file)
@@ -1634,6 +1634,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
index 68d54d29d9c226730f7b8f804e559a4223ee3451..83708fdfe0e6cf545de5aa55f8f25b405494c4cd 100644 (file)
@@ -1,3 +1,7 @@
+2002-06-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.c-torture/compile/20020605-1.c: New test.
+
 2002-05-29  Hans-Peter Nilsson  <hp@axis.com>
 
        * gcc.c-torture/execute/20020529-1.c: New test.