mirror of
https://review.haiku-os.org/buildtools
synced 2024-11-23 07:18:49 +01:00
[taken from gcc-2.95.3-7-suse]
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. git-svn-id: file:///srv/svn/repos/haiku/trunk/buildtools@9584 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
288e868d9b
commit
e31a22361a
@ -693,6 +693,9 @@ optimize_reg_copy_3 (insn, dest, src)
|
||||
}
|
||||
if (! (set = single_set (p))
|
||||
|| 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)
|
||||
return;
|
||||
|
||||
@ -737,6 +740,12 @@ optimize_reg_copy_3 (insn, dest, src)
|
||||
PUT_MODE (src_reg, old_mode);
|
||||
XEXP (src, 0) = src_reg;
|
||||
}
|
||||
else
|
||||
{
|
||||
rtx note = find_reg_note (p, REG_EQUAL, NULL_RTX);
|
||||
if (note)
|
||||
remove_note (p, note);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user