aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-12-26 08:37:13 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1993-12-26 08:37:13 -0500
commit5954c8a8b76b1a812a514277f0bea782d02cac30 (patch)
treeb0ad986d7fff7b2e3544ed58876c5b0b4228865a
parent79644f068946c6179fae9fae1fa6d931ad19bb1a (diff)
downloadgcc-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
-rw-r--r--gcc/jump.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index f384e7a..c8d2e6d 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -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 */