[PATCH v2 0/8] libstdc++: Sequence of improvements to <mdspan>.
Tomasz Kaminski
tkaminsk@redhat.com
Thu Aug 21 08:43:33 GMT 2025
The patch series is now on trunk, and will continue with the next series
soon.
Thank you for the contributions, and I am looking forward to the next
patches for review.
On Wed, Aug 20, 2025 at 6:54 PM Jonathan Wakely <jwakely@redhat.com> wrote:
> On 03/08/25 22:57 +0200, Luc Grosheintz wrote:
> >The combined effect of this sequence of change is:
> >
> > * a reduction in the number of template instantiations, by
> > - avoiding needless dependency of IndexType,
> > - special formulas for low-rank extents,
> > - special formulas for (nearly) fully dynamic extents.
> >
> > * improved code quality, by
> > - precomputing partial products of the static extents,
> > - special cases for low-rank extents,
> > - rewriting the condition E[i] == dynamic_extent in a more
> > optimizer friendly manner.
> > - effectively loop-unrolling extents::operator==.
> >
> >While simplistic micro-benchmarking shows the effectiveness of these
> >changes, likely the stronger argument is presented in each commit:
> > a) each change removes needless complexity,
> > b) before/after examples of generated code show the effectiveness.
> >
> >Luc Grosheintz (8):
> > libstdc++: Reduce template instantiations in <mdspan>.
> > libstdc++: Precompute products of static extents.
> > libstdc++: Improve low-rank layout_{left,right}::stride.
> > libstdc++: Improve fully dynamic extents in mdspan.
> > libstdc++: Improve nearly fully dynamic extents in mdspan.
> > libstdc++: Reduce indirection in extents::extent.
> > libstdc++: Improve extents::operator==.
> > libstdc++: Replace numeric_limit with __int_traits in mdspan.
> >
> > libstdc++-v3/include/std/mdspan | 282 +++++++++++++-----
> > .../mdspan/extents/class_mandates_neg.cc | 3 +
> > 2 files changed, 208 insertions(+), 77 deletions(-)
>
> I've now reviewed all the patches in this series, with all Tomasz's v3
> patches making adjustments, and the whole series is OK for trunk.
>
> Some really nice codegen improvemens here, thanks!
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://gcc.gnu.org/pipermail/libstdc++/attachments/20250821/55169240/attachment.htm>
More information about the Libstdc++
mailing list