Skip to content

Initially use [[msvc::no_unique_address]] for some C++23 components - #4960

Merged
Stephan T. Lavavej (StephanTLavavej) merged 16 commits into
microsoft:mainfrom
frederick-vs-ja:msvc-no-unique-address
Mar 25, 2025
Merged

Initially use [[msvc::no_unique_address]] for some C++23 components#4960
Stephan T. Lavavej (StephanTLavavej) merged 16 commits into
microsoft:mainfrom
frederick-vs-ja:msvc-no-unique-address

Conversation

@frederick-vs-ja

@frederick-vs-ja A. Jiang (frederick-vs-ja) commented Sep 17, 2024

Copy link
Copy Markdown
Contributor

Towards #1364.

Applied:

  • in_value_result
  • out_value_result
  • mdspan
  • join_with_view's sentinel
  • enumerate_view's iterator and sentinel
  • chunk_view's iterator
  • slide_view's sentinel
  • elements_of

Not yet applied due to DevCom-10588147 and possibly related issues.

  • views, as they have view_interface as their empty bases.
  • some iterators with empty bases due to conditionally existing iterator_category.
  • chunk_by_view's iterator, possibly because the non-potentially-overlapping member is listed first.

Not yet applied because it's unclear to me how to reuse padding bytes in tuple

  • zip-family

Not yet applied due to another unclear reasons

  • expected

Other changes:

  • remove /* [[no_unique_address]] */ for _Index_type of repeat_view's iterator because the _Index_type never has padding bytes
  • move the test coverage added in <mdspan>: More EBO #3847 to a separated test file
  • attempt to test NVCC for these changes failed and reverted.
- `in_value_result`
- `out_value_result`
- `mdspan`
- `join_with_view`'s sentinel
- `enumerate_view`'s iterator and sentinel
- `chunk_view`'s iterator
- `slide_view`'s sentinel
@frederick-vs-ja
A. Jiang (frederick-vs-ja) requested a review from a team as a code owner September 17, 2024 16:05
@frederick-vs-ja

This comment was marked as resolved.

@CaseyCarter Casey Carter (CaseyCarter) added performance Must go faster decision needed We need to choose something before working on this labels Sep 17, 2024
@CaseyCarter

This comment was marked as resolved.

@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) removed the decision needed We need to choose something before working on this label Sep 18, 2024
@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej

This comment was marked as resolved.

@CaseyCarter

This comment was marked as resolved.

@frederick-vs-ja

This comment was marked as resolved.

Comment thread tests/std/tests/P0009R18_mdspan_msabi/test.compile.pass.cpp Outdated
@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) added the blocked Something is preventing work on this label Oct 21, 2024
@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej

This comment was marked as outdated.

@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej

This comment was marked as resolved.

@frederick-vs-ja
A. Jiang (frederick-vs-ja) marked this pull request as ready for review February 20, 2025 11:03
@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) removed the blocked Something is preventing work on this label Feb 26, 2025
@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) moved this from Blocked to Work In Progress in STL Code Reviews Feb 26, 2025
@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) moved this from Work In Progress to Initial Review in STL Code Reviews Feb 27, 2025
Comment thread tests/std/tests/P0009R18_mdspan_msabi/test.compile.pass.cpp Outdated
Comment thread tests/std/tests/P0009R18_mdspan_msabi/test.compile.pass.cpp Outdated
@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) moved this from Initial Review to Ready To Merge in STL Code Reviews Mar 3, 2025
@StephanTLavavej Stephan T. Lavavej (StephanTLavavej) moved this from Ready To Merge to Merging in STL Code Reviews Mar 21, 2025
@StephanTLavavej

Copy link
Copy Markdown
Member

I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.

Stephan T. Lavavej (StephanTLavavej) added a commit to StephanTLavavej/STL that referenced this pull request Mar 21, 2025
@StephanTLavavej
Stephan T. Lavavej (StephanTLavavej) merged commit b8e575b into microsoft:main Mar 25, 2025
@github-project-automation github-project-automation Bot moved this from Merging to Done in STL Code Reviews Mar 25, 2025
@StephanTLavavej

Copy link
Copy Markdown
Member

Thanks for implementing these long-awaited space optimizations! 🛰️ 🚀 🪐

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance Must go faster

3 participants