reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent is not a valid memory_operand.
* reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent is not a valid memory_operand. From-SVN: r50681
This commit is contained in:
parent
b3dd43df63
commit
6a45951fb2
|
@ -1,3 +1,8 @@
|
||||||
|
2002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
|
||||||
|
|
||||||
|
* reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
|
||||||
|
is not a valid memory_operand.
|
||||||
|
|
||||||
2002-03-12 Bob Wilson <bob.wilson@acm.org>
|
2002-03-12 Bob Wilson <bob.wilson@acm.org>
|
||||||
|
|
||||||
* config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
|
* config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
|
||||||
|
|
|
@ -790,7 +790,12 @@ reload (first, global)
|
||||||
i = REGNO (SET_DEST (set));
|
i = REGNO (SET_DEST (set));
|
||||||
if (i > LAST_VIRTUAL_REGISTER)
|
if (i > LAST_VIRTUAL_REGISTER)
|
||||||
{
|
{
|
||||||
if (GET_CODE (x) == MEM)
|
/* It can happen that a REG_EQUIV note contains a MEM
|
||||||
|
that is not a legitimate memory operand. As later
|
||||||
|
stages of reload assume that all addresses found
|
||||||
|
in the reg_equiv_* arrays were originally legitimate,
|
||||||
|
we ignore such REG_EQUIV notes. */
|
||||||
|
if (memory_operand (x, VOIDmode))
|
||||||
{
|
{
|
||||||
/* Always unshare the equivalence, so we can
|
/* Always unshare the equivalence, so we can
|
||||||
substitute into this insn without touching the
|
substitute into this insn without touching the
|
||||||
|
|
Loading…
Reference in New Issue