rtlanal.c (reg_overlap_mentioned_p): Don't test CONSTANT_P (x).
2004-02-02 Paolo Bonzini <bonzini@gnu.org> * rtlanal.c (reg_overlap_mentioned_p) [!ENABLE_CHECKING]: Don't test CONSTANT_P (x). (reg_overlap_mentioned_p): Merge check for STRICT_LOWPART, ZERO_EXTRACT, SIGN_EXTRACT with the switch statement. Fix misindentation. From-SVN: r77105
This commit is contained in:
parent
e789e9c470
commit
6f626d1bdf
|
@ -1,3 +1,11 @@
|
|||
2004-02-02 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* rtlanal.c (reg_overlap_mentioned_p) [!ENABLE_CHECKING]:
|
||||
Don't test CONSTANT_P (x).
|
||||
(reg_overlap_mentioned_p): Merge check for STRICT_LOWPART,
|
||||
ZERO_EXTRACT, SIGN_EXTRACT with the switch statement.
|
||||
Fix misindentation.
|
||||
|
||||
2004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
* doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
|
||||
|
|
|
@ -1520,18 +1520,22 @@ reg_overlap_mentioned_p (rtx x, rtx in)
|
|||
{
|
||||
unsigned int regno, endregno;
|
||||
|
||||
/* Overly conservative. */
|
||||
if (GET_CODE (x) == STRICT_LOW_PART
|
||||
|| GET_CODE (x) == ZERO_EXTRACT
|
||||
|| GET_CODE (x) == SIGN_EXTRACT)
|
||||
x = XEXP (x, 0);
|
||||
|
||||
/* If either argument is a constant, then modifying X can not affect IN. */
|
||||
if (CONSTANT_P (x) || CONSTANT_P (in))
|
||||
/* If either argument is a constant, then modifying X can not
|
||||
affect IN. Here we look at IN, we can profitably combine
|
||||
CONSTANT_P (x) with the switch statement below. */
|
||||
if (CONSTANT_P (in))
|
||||
return 0;
|
||||
|
||||
recurse:
|
||||
switch (GET_CODE (x))
|
||||
{
|
||||
case STRICT_LOW_PART:
|
||||
case ZERO_EXTRACT:
|
||||
case SIGN_EXTRACT:
|
||||
/* Overly conservative. */
|
||||
x = XEXP (x, 0);
|
||||
goto recurse;
|
||||
|
||||
case SUBREG:
|
||||
regno = REGNO (SUBREG_REG (x));
|
||||
if (regno < FIRST_PSEUDO_REGISTER)
|
||||
|
@ -1579,10 +1583,13 @@ reg_overlap_mentioned_p (rtx x, rtx in)
|
|||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
#ifdef ENABLE_CHECKING
|
||||
if (!CONSTANT_P (x))
|
||||
abort ();
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Return the last value to which REG was set prior to INSN. If we can't
|
||||
|
|
Loading…
Reference in New Issue