From 56aba4a8b5221971ccfb59f144d8666905512179 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 26 Apr 2000 23:47:16 -0700 Subject: [PATCH] flow.c (tidy_fallthru_edge): Don't delete the jump when it's a still-valid conditional jump. * flow.c (tidy_fallthru_edge): Don't delete the jump when it's a still-valid conditional jump. From-SVN: r33468 --- gcc/ChangeLog | 5 +++++ gcc/flow.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1d134c0ee30..0dab3e3827e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-04-26 Richard Henderson + + * flow.c (tidy_fallthru_edge): Don't delete the jump when it's + a still-valid conditional jump. + 2000-04-26 Richard Henderson * jump.c (invert_jump): Always invert REG_BR_PROB. Do it correctly. diff --git a/gcc/flow.c b/gcc/flow.c index 23402d39120..39449d31c9f 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -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 -- 2.30.2