Skip to content

Add and improve some "mandatory" peephole optimization to fix a performance diagnostic #62247

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

Conversation

eeckstein
Copy link
Contributor

  • AllocBoxToStack: handle begin_borrow when checking if a partial_apply escapes.
  • SILCombine: handle begin_borrow in the partial_apply -> apply peephole optimization
  • MandatoryGenericSpecializer: add the partial_apply -> apply peephole optimization

Fixes an unnecessary performance violation error.

rdar://95155145

…optimization

In performance-annotated functions optimize the pattern where a partial_apply is immediately applied.
This remove the partial apply and thus avoids an allocation.

Fixes an unnecessary performance violation error.

rdar://95155145
@eeckstein eeckstein force-pushed the fix-perf-annotation-optimization branch from 14baf8b to d80d7dd Compare December 1, 2022 06:05
@eeckstein
Copy link
Contributor Author

@swift-ci test

@eeckstein
Copy link
Contributor Author

@swift-ci benchmark

@eeckstein eeckstein merged commit c7ab760 into swiftlang:main Dec 1, 2022
@eeckstein eeckstein deleted the fix-perf-annotation-optimization branch December 1, 2022 13:22
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.

1 participant