diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-10-01 20:35:09 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-10-01 20:35:09 -0400 |
commit | cd423eadfe03513eb1a0a76853d2c4af11bf9f10 (patch) | |
tree | e8a312ba66efabe994e2aa8352723c742f2e6a09 /gcc | |
parent | ba21328576034c3ed1fdd42a6719c74376d90ea3 (diff) | |
download | gcc-cd423eadfe03513eb1a0a76853d2c4af11bf9f10.zip gcc-cd423eadfe03513eb1a0a76853d2c4af11bf9f10.tar.gz gcc-cd423eadfe03513eb1a0a76853d2c4af11bf9f10.tar.bz2 |
(jump_optimize): When deleting a jump, properly set NEXT.
(duplicate_loop_exit_test): Don't insety NOTE_INSN_LOOP_VTOP before deleted
insn; insert first, then delete.
From-SVN: r8194
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/jump.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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; } |