reload1.c (eliminate_regs): Test for reg_renumber being allocated before referencing it.
* reload1.c (eliminate_regs): Test for reg_renumber being allocated before referencing it. From-SVN: r46623
This commit is contained in:
parent
f3597919c5
commit
cd7c9015a6
|
@ -1,3 +1,8 @@
|
|||
Mon Oct 29 19:22:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* reload1.c (eliminate_regs): Test for reg_renumber being allocated
|
||||
before referencing it.
|
||||
|
||||
2001-10-26 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
|
||||
|
|
|
@ -2298,8 +2298,8 @@ eliminate_regs (x, mem_mode, insn)
|
|||
return plus_constant (ep->to_rtx, ep->previous_offset);
|
||||
|
||||
}
|
||||
else if (reg_renumber[regno] < 0 && reg_equiv_constant
|
||||
&& reg_equiv_constant[regno]
|
||||
else if (reg_renumber && reg_renumber[regno] < 0
|
||||
&& reg_equiv_constant && reg_equiv_constant[regno]
|
||||
&& ! CONSTANT_P (reg_equiv_constant[regno]))
|
||||
return eliminate_regs (copy_rtx (reg_equiv_constant[regno]),
|
||||
mem_mode, insn);
|
||||
|
@ -2365,7 +2365,7 @@ eliminate_regs (x, mem_mode, insn)
|
|||
rtx new0 = eliminate_regs (XEXP (x, 0), mem_mode, insn);
|
||||
rtx new1 = eliminate_regs (XEXP (x, 1), mem_mode, insn);
|
||||
|
||||
if (new0 != XEXP (x, 0) || new1 != XEXP (x, 1))
|
||||
if (reg_renumber && (new0 != XEXP (x, 0) || new1 != XEXP (x, 1)))
|
||||
{
|
||||
/* If one side is a PLUS and the other side is a pseudo that
|
||||
didn't get a hard register but has a reg_equiv_constant,
|
||||
|
@ -2473,7 +2473,8 @@ eliminate_regs (x, mem_mode, insn)
|
|||
{
|
||||
new = eliminate_regs (XEXP (x, 1), mem_mode, insn);
|
||||
if (new != XEXP (x, 1))
|
||||
return gen_rtx_fmt_ee (GET_CODE (x), GET_MODE (x), XEXP (x, 0), new);
|
||||
return
|
||||
gen_rtx_fmt_ee (GET_CODE (x), GET_MODE (x), XEXP (x, 0), new);
|
||||
}
|
||||
return x;
|
||||
|
||||
|
|
Loading…
Reference in New Issue