* cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
From-SVN: r61971
This commit is contained in:
parent
4ff71d245b
commit
a77b7e32ec
|
@ -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>
|
2003-01-28 Richard Sandiford <rsandifo@redhat.com>
|
||||||
|
|
||||||
* config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
|
* config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
|
||||||
|
|
14
gcc/cse.c
14
gcc/cse.c
|
@ -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), 0)) == LABEL_REF
|
||||||
&& GET_CODE (XEXP (XEXP (src_const, 0), 1)) == LABEL_REF))
|
&& GET_CODE (XEXP (XEXP (src_const, 0), 1)) == LABEL_REF))
|
||||||
{
|
{
|
||||||
/* Make sure that the rtx is not shared with any other insn. */
|
/* We only want a REG_EQUAL note if src_const != src. */
|
||||||
src_const = copy_rtx (src_const);
|
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
|
/* Record the actual constant value in a REG_EQUAL note,
|
||||||
a new one if one does not already exist. */
|
making a new one if one does not already exist. */
|
||||||
set_unique_reg_note (insn, REG_EQUAL, src_const);
|
set_unique_reg_note (insn, REG_EQUAL, src_const);
|
||||||
|
}
|
||||||
|
|
||||||
/* If storing a constant value in a register that
|
/* If storing a constant value in a register that
|
||||||
previously held the constant value 0,
|
previously held the constant value 0,
|
||||||
|
|
Loading…
Reference in New Issue