So PR57193 has an example of sub-optimal code generation, with some unnecessary register moves left after LRA. These seem to be difficult to prevent, but last year Robert Suchanek made some modifications to regrename that allow it to clean up such cases. Enabling -frename-registers removes one of the two unnecessary copies, and I'm pretty sure I could make it eliminate the other one as well with a bit more work. Hence, this patch. The renamer has seen a lot of fixes over the years and should be in pretty good shape IMO. Still, I won't deny that this is a bit riskier than the usual bugfix patch at this stage. Bootstrapped and tested on x86_64-linux, with my earlier patch to fix some i386 tests. Thoughts? Should we do this for gcc-7 at least? Bernd