Skip to content

Add a BorrowedLifetimeExtender utility. #39357

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 1 commit into from
Sep 20, 2021

Conversation

atrick
Copy link
Contributor

@atrick atrick commented Sep 18, 2021

Handle SSA update (phi creation) when extending an owned lifetime over
a borrowed lifetime.

This is a layer of logic above BorrowedValue but below
OwnershipLifetimeExtender and other higher-level utilities.

Required for OSSA-SimplifyCFG and general guaranteed phi handling.
Unit tests are being developed in a branch that already makes use of this utility, but that depends on rewriting other utilities, which is too much for one PR.

This is a stand-alone utility that can be used independently. It will also replace a large chunk of RAUW helper logic. In general, we need to break up the OSSA utilities into small self-contained pieces that can be used to build other utilities.

Handle SSA update (phi creation) when extending an owned lifetime over
a borrowed lifetime.

This is a layer of logic above BorrowedValue but below
OwnershipLifetimeExtender and other higher-level utilities.
@atrick
Copy link
Contributor Author

atrick commented Sep 18, 2021

@swift-ci smoke test

@atrick
Copy link
Contributor Author

atrick commented Sep 18, 2021

@swift-ci smoke test linux

@atrick atrick merged commit b750c37 into swiftlang:main Sep 20, 2021
@atrick atrick deleted the add-borrow-extender branch September 20, 2021 19:54
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