summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-13 18:31:40 +0000
committerzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-13 18:31:40 +0000
commit7900bf3d01f0dbb18d9c5eb09e2b66ef0213f043 (patch)
treea2166a02df3f0b925223f19613efbad88aab0761
parent7ad5ac3efaecaffcad2f8b6b7a0bdb88c801a071 (diff)
downloadppe42-gcc-7900bf3d01f0dbb18d9c5eb09e2b66ef0213f043.tar.gz
ppe42-gcc-7900bf3d01f0dbb18d9c5eb09e2b66ef0213f043.zip
* cfgcleanup.c (outgoing_edges_match): When there is single outgoing
edge and block ends with a jump insn it must be simple jump. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62858 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cfgcleanup.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 355aec2088a..b60757702ba 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-02-13 Josef Zlomek <zlomekj@suse.cz>
+
+ * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
+ edge and block ends with a jump insn it must be simple jump.
+
2003-02-13 Daniel Jacobowitz <drow@mvista.com>
* Makefile.in (PREPROCESSOR_DEFINES): Add
diff --git a/gcc/cfgcleanup.c b/gcc/cfgcleanup.c
index 2a23cc08fab..338281a6990 100644
--- a/gcc/cfgcleanup.c
+++ b/gcc/cfgcleanup.c
@@ -1119,9 +1119,11 @@ outgoing_edges_match (mode, bb1, bb2)
/* If BB1 has only one successor, we may be looking at either an
unconditional jump, or a fake edge to exit. */
if (bb1->succ && !bb1->succ->succ_next
- && !(bb1->succ->flags & (EDGE_COMPLEX | EDGE_FAKE)))
+ && (bb1->succ->flags & (EDGE_COMPLEX | EDGE_FAKE)) == 0
+ && (GET_CODE (bb1->end) != JUMP_INSN || simplejump_p (bb1->end)))
return (bb2->succ && !bb2->succ->succ_next
- && (bb2->succ->flags & (EDGE_COMPLEX | EDGE_FAKE)) == 0);
+ && (bb2->succ->flags & (EDGE_COMPLEX | EDGE_FAKE)) == 0
+ && (GET_CODE (bb2->end) != JUMP_INSN || simplejump_p (bb2->end)));
/* Match conditional jumps - this may get tricky when fallthru and branch
edges are crossed. */
OpenPOWER on IntegriCloud