https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64317
--- Comment #15 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- (In reply to Jeffrey A. Law from comment #14) > Just trying to help out where I can. It's similar to the round robin use > of reload regs we've had in reload for a while. THe idea was to hopefully > have reloaded values lying around in a useful place more often to improve > inheritance. Yes, I remember this. LRA has analogous technique called hard registers levelling. The idea is the same to use all hard registers with equal probability. Although I think there is some possibility to improve this making it more CFG sensitive although it is harder to do it in LRA as hard register allocation in LRA is done in more global scope than in reload.