OSDN Git Service

(jump_optimize): When deleting a jump, properly set NEXT.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 2 Oct 1994 00:35:09 +0000 (00:35 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 2 Oct 1994 00:35:09 +0000 (00:35 +0000)
(duplicate_loop_exit_test): Don't insety NOTE_INSN_LOOP_VTOP before deleted
insn; insert first, then delete.

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

gcc/jump.c

index 0792f17..28d25e5 100644 (file)
@@ -661,6 +661,7 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan)
          /* Detect jump to following insn.  */
          if (reallabelprev == insn && condjump_p (insn))
            {
+             next = next_real_insn (JUMP_LABEL (insn));
              delete_jump (insn);
              changed = 1;
              continue;
@@ -2202,11 +2203,11 @@ duplicate_loop_exit_test (loop_start)
       emit_barrier_before (loop_start);
     }
 
-  delete_insn (next_nonnote_insn (loop_start));
-
   /* Mark the exit code as the virtual top of the converted loop.  */
   emit_note_before (NOTE_INSN_LOOP_VTOP, exitcode);
 
+  delete_insn (next_nonnote_insn (loop_start));
+
   return 1;
 }
 \f