Skip to content

[NFC] OSSA jump-threading support #61648

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 4 commits into from
Oct 25, 2022
Merged

[NFC] OSSA jump-threading support #61648

merged 4 commits into from
Oct 25, 2022

Conversation

atrick
Copy link
Contributor

@atrick atrick commented Oct 20, 2022

These are a few commits from 1 year ago. I didn't check them in at the time because the underlying OSSA support was not robust enough to handle all cases that could be exposed, and there was no good way to unit test those utilities.

I'm merging them now under a flag so we can begin simultaneously testing OSSA simplify-cfg and adding unit tests for OSSA.

@atrick atrick requested a review from meg-gupta October 20, 2022 20:10
@atrick
Copy link
Contributor Author

atrick commented Oct 20, 2022

@swift-ci test

The OSSA verifier was never enabled for block terminators. So we could
blindly give terminator results any ownership without knowing.
Begin adding support for OSSA to checked-cast jump-threading based on
the new ownership utilities.

TODO:

Finish migrating to the new utilities in OwnershipOptUtils.

Ensure full unit test coverage.
@atrick
Copy link
Contributor Author

atrick commented Oct 23, 2022

@swift-ci test

@atrick
Copy link
Contributor Author

atrick commented Oct 23, 2022

@swift-ci test

@atrick
Copy link
Contributor Author

atrick commented Oct 23, 2022

@swift-ci test

@atrick
Copy link
Contributor Author

atrick commented Oct 23, 2022

@meg-gupta the checked-cast jump-threading tests are updated for guaranteed phis and all enabled. I'm ready to merge it.

There is a FIXME to better organize the tests:
// FIXME: which of these tests actually require -jumpthread-simplify-cfg instead of -simplify-cfg?

And one extra copy that we shouldn't need when RAUW is fixed:
// FIXME_rauw: revisit these fixme's after the OwnershipRAUW utility is rewritten in terms of OwnershipLiveness.

@atrick
Copy link
Contributor Author

atrick commented Oct 23, 2022

@swift-ci test macOS platform

1 similar comment
@atrick
Copy link
Contributor Author

atrick commented Oct 24, 2022

@swift-ci test macOS platform

@atrick atrick merged commit cdbc917 into swiftlang:main Oct 25, 2022
@atrick atrick deleted the jump-thread branch October 25, 2022 04:23
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