Commit cd7c9015 by Richard Kenner Committed by Richard Kenner

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
parent f3597919
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> 2001-10-26 DJ Delorie <dj@redhat.com>
* config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
......
...@@ -2298,8 +2298,8 @@ eliminate_regs (x, mem_mode, insn) ...@@ -2298,8 +2298,8 @@ eliminate_regs (x, mem_mode, insn)
return plus_constant (ep->to_rtx, ep->previous_offset); return plus_constant (ep->to_rtx, ep->previous_offset);
} }
else if (reg_renumber[regno] < 0 && reg_equiv_constant else if (reg_renumber && reg_renumber[regno] < 0
&& reg_equiv_constant[regno] && reg_equiv_constant && reg_equiv_constant[regno]
&& ! CONSTANT_P (reg_equiv_constant[regno])) && ! CONSTANT_P (reg_equiv_constant[regno]))
return eliminate_regs (copy_rtx (reg_equiv_constant[regno]), return eliminate_regs (copy_rtx (reg_equiv_constant[regno]),
mem_mode, insn); mem_mode, insn);
...@@ -2365,7 +2365,7 @@ eliminate_regs (x, mem_mode, insn) ...@@ -2365,7 +2365,7 @@ eliminate_regs (x, mem_mode, insn)
rtx new0 = eliminate_regs (XEXP (x, 0), mem_mode, insn); rtx new0 = eliminate_regs (XEXP (x, 0), mem_mode, insn);
rtx new1 = eliminate_regs (XEXP (x, 1), 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 /* 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, didn't get a hard register but has a reg_equiv_constant,
...@@ -2473,7 +2473,8 @@ eliminate_regs (x, mem_mode, insn) ...@@ -2473,7 +2473,8 @@ eliminate_regs (x, mem_mode, insn)
{ {
new = eliminate_regs (XEXP (x, 1), mem_mode, insn); new = eliminate_regs (XEXP (x, 1), mem_mode, insn);
if (new != XEXP (x, 1)) 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; return x;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment