reload.c (find_reloads_toplev): When handling a (subreg (reg)) where (reg) will be replaced by a memory...

* reload.c (find_reloads_toplev): When handling a (subreg (reg))
	where (reg) will be replaced by a memory reference, if the memory
	address is invalid for the mode of the subreg, then search the
	memory address for reloads.

From-SVN: r3385
This commit is contained in:
Jeff Law 1993-01-29 10:09:30 -07:00
parent d39b685469
commit f2fbfe928c

View File

@ -3477,7 +3477,9 @@ find_reloads_toplev (x, ind_levels, is_set_dest)
#endif
&& (reg_equiv_address[regno] != 0
|| (reg_equiv_mem[regno] != 0
&& ! offsettable_memref_p (reg_equiv_mem[regno]))))
&& (! strict_memory_address_p (GET_MODE (x),
XEXP (reg_equiv_mem[regno], 0))
|| ! offsettable_memref_p (reg_equiv_mem[regno])))))
{
int offset = SUBREG_WORD (x) * UNITS_PER_WORD;
rtx addr = (reg_equiv_address[regno] ? reg_equiv_address[regno]