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.

Reply via email to