diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-12-26 08:37:13 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-12-26 08:37:13 -0500 |
commit | 5954c8a8b76b1a812a514277f0bea782d02cac30 (patch) | |
tree | b0ad986d7fff7b2e3544ed58876c5b0b4228865a /gcc | |
parent | 79644f068946c6179fae9fae1fa6d931ad19bb1a (diff) | |
download | gcc-5954c8a8b76b1a812a514277f0bea782d02cac30.zip gcc-5954c8a8b76b1a812a514277f0bea782d02cac30.tar.gz gcc-5954c8a8b76b1a812a514277f0bea782d02cac30.tar.bz2 |
(jump_optimize): When deleting an insn after a jump, update
reallabelprev since it might point to the deleted insn.
From-SVN: r6328
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/jump.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -869,6 +869,7 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan) emit_insn_after_with_line_notes (PATTERN (temp), PREV_INSN (insn), temp); delete_insn (temp); + reallabelprev = prev_active_insn (JUMP_LABEL (insn)); } } @@ -916,6 +917,7 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan) PREV_INSN (insn), temp3); delete_insn (temp); delete_insn (temp3); + reallabelprev = prev_active_insn (JUMP_LABEL (insn)); } } @@ -967,6 +969,7 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan) PREV_INSN (insn), temp3); delete_insn (temp); delete_insn (temp3); + reallabelprev = prev_active_insn (JUMP_LABEL (insn)); } } #endif /* HAVE_cc0 */ |