Skip to content

FieldSensitivePrunedLiveness: Handle conditionality of try_apply defs. #72452

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

jckarter
Copy link
Contributor

A try_apply with indirect out arguments is only a def for those arguments on the success path. Model this by sinking the def-ness of the instruction into the success branch of the try_apply, and introducing a new DeadToLiveEdge mode for block liveness which stops propagation of use-before-def conditions into the block that introduced the def. Fixes rdar://118567869.

A `try_apply` with indirect out arguments is only a def for those arguments on
the success path. Model this by sinking the def-ness of the instruction into the
success branch of the try_apply, and introducing a new `DeadToLiveEdge` mode for
block liveness which stops propagation of use-before-def conditions into the
block that introduced the def. Fixes rdar://118567869.
@jckarter jckarter requested a review from gottesmm March 20, 2024 05:52
@jckarter jckarter requested a review from kavon as a code owner March 20, 2024 05:52
@jckarter
Copy link
Contributor Author

@swift-ci Please test

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.

2 participants