> In order to fix this I think that reload1.c:emit_reload_insns should, > at the point of discovery of an input reload whose reload register is a > non-spill hard register H, invalidate all previous reloads involving > that hard register.
If the reload is inherited, and there is no non-input part of the reload that would destroy the value in the register, you should leave previous reloads alone, so that they can be inherited multiple times.