* cse.c (cse_insn): Avoid redundant REG_EQUAL notes.

From-SVN: r61971
This commit is contained in:
Roger Sayle 2003-01-28 14:52:07 +00:00 committed by Roger Sayle
parent 4ff71d245b
commit a77b7e32ec
2 changed files with 13 additions and 5 deletions

View File

@ -1,3 +1,7 @@
2003-01-28 Roger Sayle <roger@eyesopen.com>
* cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
2003-01-28 Richard Sandiford <rsandifo@redhat.com>
* config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given

View File

@ -5684,12 +5684,16 @@ cse_insn (insn, libcall_insn)
&& GET_CODE (XEXP (XEXP (src_const, 0), 0)) == LABEL_REF
&& GET_CODE (XEXP (XEXP (src_const, 0), 1)) == LABEL_REF))
{
/* Make sure that the rtx is not shared with any other insn. */
src_const = copy_rtx (src_const);
/* We only want a REG_EQUAL note if src_const != src. */
if (! rtx_equal_p (src, src_const))
{
/* Make sure that the rtx is not shared. */
src_const = copy_rtx (src_const);
/* Record the actual constant value in a REG_EQUAL note, making
a new one if one does not already exist. */
set_unique_reg_note (insn, REG_EQUAL, src_const);
/* Record the actual constant value in a REG_EQUAL note,
making a new one if one does not already exist. */
set_unique_reg_note (insn, REG_EQUAL, src_const);
}
/* If storing a constant value in a register that
previously held the constant value 0,