OSDN Git Service

* flow.c (tidy_fallthru_edge): Don't delete the jump when it's
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 27 Apr 2000 06:47:16 +0000 (06:47 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 27 Apr 2000 06:47:16 +0000 (06:47 +0000)
        a still-valid conditional jump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33468 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/flow.c

index 1d134c0..0dab3e3 100644 (file)
@@ -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.
index 23402d3..39449d3 100644 (file)
@@ -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