On 05/05/10 17:45, Greg McGary wrote:
reload() > setup_save_areas() > assign_stack_local_1() creates a mem address whose offset too large to fit into the machine insn's offset operand. Later, reload() > save_call_clobbered_regs() > insert_save() > adjust_address_1() > change_address_1() asserts because the address is not legitimate.

My port defines all the address legitimizing target hooks, but none are called with the address in question. Where/how is the address supposed to be fixed-up in this case? Or, where/how does gcc avoid producing an illegitimate address in the first place?
I'm not sure they are ever legitimized -- IIRC caller-save tries to only generate addressing modes which are safe for precisely this reason.

Jeff

Reply via email to