Commit f2fbfe92 by Jeff Law

reload.c (find_reloads_toplev): When handling a (subreg (reg)) where (reg) will…

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
parent d39b6854
...@@ -3477,7 +3477,9 @@ find_reloads_toplev (x, ind_levels, is_set_dest) ...@@ -3477,7 +3477,9 @@ find_reloads_toplev (x, ind_levels, is_set_dest)
#endif #endif
&& (reg_equiv_address[regno] != 0 && (reg_equiv_address[regno] != 0
|| (reg_equiv_mem[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; int offset = SUBREG_WORD (x) * UNITS_PER_WORD;
rtx addr = (reg_equiv_address[regno] ? reg_equiv_address[regno] rtx addr = (reg_equiv_address[regno] ? reg_equiv_address[regno]
......
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