Skip to content

[MoveChecker] Complete lifetimes before checking. #68342

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 3 commits into from
Sep 7, 2023

Conversation

nate-chandler
Copy link
Contributor

@nate-chandler nate-chandler commented Sep 6, 2023

Before move-checking values, complete the lifetimes of all the values derived from them via copy, borrow, move, and phi.

Collect all such values and their derived transitive values and then complete the lifetimes of each, visiting the instructions which produce them in post-order.

Once OSSALifetimeCompletion runs as part of SILGenCleanup, this code can be deleted.

@nate-chandler nate-chandler force-pushed the gh68328 branch 2 times, most recently from 0efb5ec to a50b875 Compare September 6, 2023 20:23
@nate-chandler nate-chandler marked this pull request as ready for review September 6, 2023 20:27
@nate-chandler nate-chandler changed the title [MoveValueChecker] Complete lifetimes before checking. [MoveObjectChecker] Complete lifetimes before checking. Sep 6, 2023
@nate-chandler nate-chandler changed the title [MoveObjectChecker] Complete lifetimes before checking. [MoveChecker] Complete lifetimes before checking. Sep 6, 2023
meg-gupta and others added 3 commits September 7, 2023 07:05
Before move-checking values, complete the lifetimes of all the values
derived from them via copy, borrow, and move.

Collect all such values and their derived transitive values and then
complete the lifetimes of each, visiting the instructions which produce
them in post-order.

Once OSSALifetimeCommpletion runs as part of SILGenCleanup, this code
can be deleted.
@nate-chandler
Copy link
Contributor Author

@swift-ci please test

@nate-chandler
Copy link
Contributor Author

@swift-ci please test source compatibility

@nate-chandler
Copy link
Contributor Author

@swift-ci please benchmark

@nate-chandler
Copy link
Contributor Author

nate-chandler commented Sep 7, 2023

Failures in Swift Source Compatibility Suite on macOS Platform (Release)

swift-foundation 5.9

match failures in baseline: https://ci.swift.org/job/swift-PR-source-compat-suite-macos/1138/artifact/swift-source-compat-suite/
Failures in Swift Source Compatibility Suite on macOS Platform (Debug)

Kingfisher 5.0
SwifterSwift 4.0
swift-foundation 5.9

match failures in baseline: https://ci.swift.org/job/swift-main-source-compat-suite-debug/537/artifact/swift-source-compat-suite/

@meg-gupta
Copy link
Contributor

LGTM!

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