Skip to content

Relax the open_existential_addr immutable_access verifier further after sil-combine bail-out #12484

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
Oct 17, 2017

Conversation

shajrawi
Copy link

radar rdar://problem/35010515

Found another open_existential_addr immutable_access pattern that got exposed by the new sil-combiner changes:

After keeping the open_existential_addr immutable_access we have a new pattern created by an interaction of a few different optimizations: we have an unchecked address cast (devirtualization) + immutable use of that address. Support said pattern in the SIL Verifier.

@shajrawi
Copy link
Author

@swift-ci Please smoke test and merge

@shajrawi
Copy link
Author

@swiftix I am merging this into master to unblock the bots. But, can you please review? I want to cherry-pick this commit into the Swift 4.0 branch.

@gparker42
Copy link
Contributor

@swift-ci please clean smoke test linux

@gparker42
Copy link
Contributor

@swift-ci please smoke test linux

@gparker42 gparker42 merged commit b67aaef into swiftlang:master Oct 17, 2017
@shajrawi shajrawi deleted the relax_verify branch October 17, 2017 17:15
@shahmishal
Copy link
Member

@shajrawi shajrawi requested a review from swiftix October 19, 2017 02:49
@swiftix
Copy link
Contributor

swiftix commented Oct 19, 2017

LGTM!

shajrawi pushed a commit that referenced this pull request Oct 20, 2017
Relax the open_existential_addr immutable_access verifier further after sil-combine bail-out
shajrawi pushed a commit that referenced this pull request Oct 20, 2017
Merge pull request #12484 from shajrawi/relax_verify
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.

4 participants