Commit 4fb3cbd7 by Bernd Schmidt Committed by Bernd Schmidt

Fix incorrect note handling.

From-SVN: r43462
parent 10ab5c54
2001-06-19 Bernd Schmidt <bernds@redhat.com>
* regmove.c (optimize_reg_copy_3): Do nothing if previous insn
carries a REG_EQUIV note. If it carries REG_EQUAL, delete the
note.
Tue Jun 19 07:53:52 2001 Jeffrey A Law (law@cygnus.com) Tue Jun 19 07:53:52 2001 Jeffrey A Law (law@cygnus.com)
* ssa.c (ssa_uses): Remove definition. * ssa.c (ssa_uses): Remove definition.
......
...@@ -703,6 +703,9 @@ optimize_reg_copy_3 (insn, dest, src) ...@@ -703,6 +703,9 @@ optimize_reg_copy_3 (insn, dest, src)
if (! (set = single_set (p)) if (! (set = single_set (p))
|| GET_CODE (SET_SRC (set)) != MEM || GET_CODE (SET_SRC (set)) != MEM
/* If there's a REG_EQUIV note, this must be an insn that loads an
argument. Prefer keeping the note over doing this optimization. */
|| find_reg_note (p, REG_EQUIV, NULL_RTX)
|| SET_DEST (set) != src_reg) || SET_DEST (set) != src_reg)
return; return;
...@@ -747,6 +750,12 @@ optimize_reg_copy_3 (insn, dest, src) ...@@ -747,6 +750,12 @@ optimize_reg_copy_3 (insn, dest, src)
PUT_MODE (src_reg, old_mode); PUT_MODE (src_reg, old_mode);
XEXP (src, 0) = src_reg; XEXP (src, 0) = src_reg;
} }
else
{
rtx note = find_reg_note (p, REG_EQUAL, NULL_RTX);
if (note)
remove_note (p, note);
}
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment