diff options
author | rms <rms@138bc75d-0d04-0410-961f-82ee72b054a4> | 1993-10-11 07:02:09 +0000 |
---|---|---|
committer | rms <rms@138bc75d-0d04-0410-961f-82ee72b054a4> | 1993-10-11 07:02:09 +0000 |
commit | a1bab3d1515aded78c03e319e0828029d74503ff (patch) | |
tree | 39bdc519a92b4d385e6f07830a94cf150da27581 /gcc/jump.c | |
parent | 57ed30e511f3e5a765aae5b97ca0037235d48fa1 (diff) | |
download | gcc-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.c | 5 |
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); } |