diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/flow.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1d134c0..0dab3e3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2000-04-26 Richard Henderson <rth@cygnus.com> + * flow.c (tidy_fallthru_edge): Don't delete the jump when it's + a still-valid conditional jump. + +2000-04-26 Richard Henderson <rth@cygnus.com> + * jump.c (invert_jump): Always invert REG_BR_PROB. Do it correctly. * bb-reorder.c (reorder_basic_blocks): Don't run estimate_probability. @@ -2407,7 +2407,9 @@ tidy_fallthru_edge (e, b, c) If block B consisted only of this single jump, turn it into a deleted note. */ q = b->end; - if (GET_CODE (q) == JUMP_INSN) + if (GET_CODE (q) == JUMP_INSN + && (simplejump_p (q) + || (b->succ == e && e->succ_next == NULL))) { #ifdef HAVE_cc0 /* If this was a conditional jump, we need to also delete |
