Re: [PATCH] c++: Reuse identical ATOMIC_CONSTRs during normalization

2020-11-06 Thread Jason Merrill via Gcc-patches
On 11/5/20 8:31 PM, Patrick Palka wrote: On Thu, 5 Nov 2020, Patrick Palka wrote: On Thu, 5 Nov 2020, Jason Merrill wrote: On 11/3/20 3:43 PM, Patrick Palka wrote: Profiling revealed that sat_hasher::equal accounts for nearly 40% of compile time in some cmcstl2 tests. This patch eliminates

Re: [PATCH] c++: Reuse identical ATOMIC_CONSTRs during normalization

2020-11-05 Thread Patrick Palka via Gcc-patches
On Thu, 5 Nov 2020, Patrick Palka wrote: > On Thu, 5 Nov 2020, Jason Merrill wrote: > > > On 11/3/20 3:43 PM, Patrick Palka wrote: > > > Profiling revealed that sat_hasher::equal accounts for nearly 40% of > > > compile time in some cmcstl2 tests. > > > > > > This patch eliminates this bottlenec

Re: [PATCH] c++: Reuse identical ATOMIC_CONSTRs during normalization

2020-11-05 Thread Patrick Palka via Gcc-patches
On Thu, 5 Nov 2020, Jason Merrill wrote: > On 11/3/20 3:43 PM, Patrick Palka wrote: > > Profiling revealed that sat_hasher::equal accounts for nearly 40% of > > compile time in some cmcstl2 tests. > > > > This patch eliminates this bottleneck by caching the ATOMIC_CONSTRs > > returned by normaliz

Re: [PATCH] c++: Reuse identical ATOMIC_CONSTRs during normalization

2020-11-05 Thread Jason Merrill via Gcc-patches
On 11/3/20 3:43 PM, Patrick Palka wrote: Profiling revealed that sat_hasher::equal accounts for nearly 40% of compile time in some cmcstl2 tests. This patch eliminates this bottleneck by caching the ATOMIC_CONSTRs returned by normalize_atom. This in turn allows us to replace the expensive atomi

[PATCH] c++: Reuse identical ATOMIC_CONSTRs during normalization

2020-11-03 Thread Patrick Palka via Gcc-patches
Profiling revealed that sat_hasher::equal accounts for nearly 40% of compile time in some cmcstl2 tests. This patch eliminates this bottleneck by caching the ATOMIC_CONSTRs returned by normalize_atom. This in turn allows us to replace the expensive atomic_constraints_identical_p check in sat_hash