Skip to content

Reapply "merge partial SIL modules" again #11995

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

Conversation

slavapestov
Copy link
Contributor

Another fix and another re-attempt at re-enabling this. Fingers crossed!

Also pass flags to disable SIL optimization passes when merging
modules, since that's completely unnecessary.

An evolution test that used to fail with WMO disabled now passes
with this change.

FIxes <rdar://problem/18913977>.
When merging partial SIL modules we only link in function bodies defined
in the current module, so we might encounter functions with shared
linkage and no body.

Since pulling in these functions from other modules is a waste of time,
run the verifier in "single function" mode in this case.

Note that when the module is ultimately used and one of these functions
is deserialized, we should link in all downstream functions with shared
linkage, and failure to do so will be caught by the SIL verifier then.

Fixes <rdar://problem/34469704>.
@slavapestov slavapestov force-pushed the reapply-merge-partial-sil-modules-again branch from df50ffa to 6478256 Compare September 19, 2017 06:59
@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test Linux

@slavapestov
Copy link
Contributor Author

@swift-ci Please clean test Linux

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - df50ffae4cd05e835a803ae51080816ad7246e32

@slavapestov
Copy link
Contributor Author

@swift-ci Please clean test Linux

@slavapestov slavapestov merged commit f519532 into swiftlang:master Sep 19, 2017
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