[Bug tree-optimization/64058] [5/6 Regression] Performance degradation after r216304
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Wed Mar 9 09:47:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64058
--- Comment #12 from rguenther at suse dot de <rguenther at suse dot de> ---
On Tue, 8 Mar 2016, law at redhat dot com wrote:
> 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.
Doesn't making the coalesce sort stable in almost the same
stability in the end? Like with the simple counter idea that would
basically provide a mapping between old SSA version and a virtual
"new" one.
I don't think we want to pay the compile-time cost of the rebuild or
the churn on SSA names.
More information about the Gcc-bugs
mailing list