https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64058
--- Comment #11 from Jeffrey A. Law <law at redhat dot com> --- The underlying randomness of coalescing is inherently due to the instability of SSA_NAME_VERSION. If we make SSA_NAME_VERSION stable, then the randomness of coalescing goes away. So I essentially toss away the existing version #s and rebuild them in a walk over the IL. First assignment gets #1, second assignment gets #2, and so-on. That brings relative stability to the version #s, which in turn brings stability to the coalescer. I suspect the existing cases that aren't stable are probably due to default defs or somesuch. Those don't have assignments and thus are still getting a pseudo-random SSA_NAME_VERSION after my renumbering.