Skip to content

[6.0] Replace two reduces with explicit loops in SIMD implementations. #72424

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 20, 2024

Conversation

stephentyrone
Copy link
Contributor

@stephentyrone stephentyrone commented Mar 19, 2024

reduce has enough machinery that it pushes us over some inlining thresholds before optimizations happen, resulting in much worse codegen for String breadcrumbs. So a nice pickup there, but also generally applicable to other code as well.

Cherry-pick from #72423

`reduce` has enough machinery that it pushes us over some inlining thresholds before optimizations happen, resulting in much worse codegen for String breadcrumbs. So a nice pickup there, but also generally applicable to other code as well.
@stephentyrone stephentyrone requested a review from a team as a code owner March 19, 2024 16:10
@stephentyrone
Copy link
Contributor Author

@swift-ci smoke test

@stephentyrone stephentyrone changed the title Replace two reduces with explicit loops in SIMD implementations. [6.0] Replace two reduces with explicit loops in SIMD implementations. Mar 19, 2024
Copy link
Contributor

@Catfish-Man Catfish-Man left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My only other thought is: should this be always-inline? But, this is clearly an improvement

@stephentyrone
Copy link
Contributor Author

@swift-ci test

@stephentyrone stephentyrone merged commit c7a31f2 into swiftlang:release/6.0 Mar 20, 2024
@stephentyrone stephentyrone deleted the reduce-reduces-6.0 branch March 20, 2024 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants