-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[LexicalDestroyHoisting] Adopt iterative dataflow. #58939
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
Conversation
@swift-ci please smoke test |
a298594
to
d20a6c3
Compare
@swift-ci please test |
Same comment for LexicalDestroyHoisting... The boilerplate detracts from readability. But I think that's mostly solved by moving the small method bodies in-line with the class definition--the ones that just provide abstraction or implement template interfaces, but don't have any nontrivial switches or loops. |
d20a6c3
to
1e0ac12
Compare
@swift-ci please test |
1e0ac12
to
50ac9ee
Compare
@swift-ci please test |
@swift-ci please test source compatibility |
Adopt IterativeBackwardReachability. Enables hoisting destroy_values over loops. rdar://93369506
Avoids hoisting destroy_values into unrelated access scopes which could introduce exclusivity violations.
50ac9ee
to
e68c12f
Compare
@swift-ci please test |
@swift-ci please test windows platform |
Adopt IterativeBackwardReachability and VisitBarrierAccessScopes. Enables hoisting destroy_values over loops and avoiding hoisting destroy_values into unrelated access scopes, respectively.
rdar://93369506