I suggest you first find out more what is exactly reloaded and where the inheritance occurs - inheritance can be done by choose_reload_regs or later in emit_reload_insns and its subfunctions.
I.e. set a breakpoint on find_reloads and make it conditional on insn->u.fld[0].rt_int == 121 && replace , let the compilation break there, finish, and call debug_reload() to look at the scheduled reloads. Then set a breakpoint on choose_reload_regs, make it conditional on chain->insn->u.fld[0].rt_int == 121 , continue to the breakpoint, finish, and call debug_reload() again. This should tell you what MEM is actually reloaded, and if the inheritance already happens there; depending on what you find, you have to look further in choose_reload_regs or in the reload emitting code. This e-mail was sent from a group e-mail system of ARC International Plc. Full details of the registered names and addresses of companies within the ARC group can be found on the ARC website.ARC International plc, Registered Office: Verulam Point, Station WaySt. Albans AL1 5HE United Kingdom Registered in England and Wales No. 3592130savm-exch03