Daniel Jacobowitz wrote:
Careful. Eliminating reads from memory messes up debugger modification of variables, unless you can explain to the debugger that the variable is currently in both locations - this has been discussed but AFAIK there is no representation for it yet. Changing the memory location won't change the next operation that thinks it's in the register. Changing the register will be lost later.
I still think that changing memory locations is a marginal capability compared to reading them, and that is is fine if this capability is impacted by even low level optimization.