summaryrefslogtreecommitdiff
path: root/gcc/jump.c
diff options
context:
space:
mode:
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1993-10-11 07:02:09 +0000
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1993-10-11 07:02:09 +0000
commita1bab3d1515aded78c03e319e0828029d74503ff (patch)
tree39bdc519a92b4d385e6f07830a94cf150da27581 /gcc/jump.c
parent57ed30e511f3e5a765aae5b97ca0037235d48fa1 (diff)
downloadgcc-a1bab3d1515aded78c03e319e0828029d74503ff.tar.gz
(jump_optimize): Use regno_last_note_uid when deciding
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5727 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/jump.c')
-rw-r--r--gcc/jump.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 7b8094ccdf4..f26170f67c1 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -540,7 +540,10 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan)
if (set && GET_CODE (SET_DEST (set)) == REG
&& REGNO (SET_DEST (set)) >= FIRST_PSEUDO_REGISTER
&& regno_first_uid[REGNO (SET_DEST (set))] == INSN_UID (insn)
- && regno_last_uid[REGNO (SET_DEST (set))] == INSN_UID (insn)
+ /* We use regno_last_note_uid so as not to delete the setting
+ of a reg that's used in notes. A subsequent optimization
+ might arrange to use that reg for real. */
+ && regno_last_note_uid[REGNO (SET_DEST (set))] == INSN_UID (insn)
&& ! side_effects_p (SET_SRC (set)))
delete_insn (insn);
}