diff options
author | Josef Zlomek <zlomekj@suse.cz> | 2003-02-13 19:31:40 +0100 |
---|---|---|
committer | Josef Zlomek <zlomek@gcc.gnu.org> | 2003-02-13 18:31:40 +0000 |
commit | ffc8f11e8c85e4195a83300ef09ab497929cef69 (patch) | |
tree | a2166a02df3f0b925223f19613efbad88aab0761 | |
parent | b7bb6d4a6a9cb69ec0abc09a4aab35c92af6bb86 (diff) | |
download | gcc-ffc8f11e8c85e4195a83300ef09ab497929cef69.zip gcc-ffc8f11e8c85e4195a83300ef09ab497929cef69.tar.gz gcc-ffc8f11e8c85e4195a83300ef09ab497929cef69.tar.bz2 |
cfgcleanup.c (outgoing_edges_match): When there is single outgoing edge and block ends with a jump insn it must be...
* cfgcleanup.c (outgoing_edges_match): When there is single outgoing
edge and block ends with a jump insn it must be simple jump.
From-SVN: r62858
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cfgcleanup.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 355aec2..b607577 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 2a23cc0..338281a 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. */ |