[PATCH] PR79584, lra ICE in base_to_reg

Alan Modra amodra@gmail.com
Thu Feb 23 01:49:00 GMT 2017


On Thu, Feb 23, 2017 at 11:41:09AM +1030, Alan Modra wrote:
> lo_sum is indeed not valid for mem:SD.  simplify_operand_subreg is
> where the subreg disappears.

Richard, doesn't the following say that lra is expecting to reload
exactly the lo_sum address you seem to think it should not handle in
process_address?

	      /* We still can reload address and if the address is
		 valid, we can remove subreg without reloading its
		 inner memory.  */
	      && valid_address_p (GET_MODE (subst),
				  regno_reg_rtx
				  [ira_class_hard_regs
				   [base_reg_class (GET_MODE (subst),
						    MEM_ADDR_SPACE (subst),
						    ADDRESS, SCRATCH)][0]],
				  MEM_ADDR_SPACE (subst))))

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Gcc-patches mailing list