Use newer split module flag with Swift 5.4#699
Draft
brentleyjones wants to merge 1 commit intomainfrom
Draft
Conversation
|
Lyft integration job started: https://buildkite.com/lyft/rules-swift/builds/71 (must be Lyft employee to view) |
Collaborator
Author
|
I'm not sure how to make the test differ based on Xcode version used. |
Member
|
do the embedded swiftdeps include all the normal things like timestamps? |
Member
|
🙏🏻 |
Uses the newer `-experimental-skip-non-inlinable-function-bodies-without-types` which was introduced here: swiftlang/swift#34612. This should improve LLDB usage in some cases. When using WMO, it has two downsides in Swift 5.5, both introduced by swiftlang/swift#38939: - The swiftmodules will have swiftdeps info embedded in them, which is only needed for incremental compilation - Interface hashing is enabled, which again is only needed for incremental compilation This is because the swift compiler only expects `-experimental-skip-non-inlinable-function-bodies-without-types` to be used with the new `emit-module-separately` incremental build.
fc0aca0 to
53ba099
Compare
Collaborator
Author
|
Seems like the issues I raised are still there. will need to test if it's an issue having those extra things before deciding to take this. |
Collaborator
Author
|
If it does have issues, it seems we should only use this flavor for incremental builds. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uses the newer
-experimental-skip-non-inlinable-function-bodies-without-typeswhich was introduced here: swiftlang/swift#34612. This should improve LLDB usage in some cases.When using WMO, it has two downsides in Swift 5.5, both introduced by swiftlang/swift#38939:
This is because the swift compiler only expects
-experimental-skip-non-inlinable-function-bodies-without-typesto be used with the new-emit-module-separatelyincremental build. In the same vein, in order to support split modules with incremental builds, we need to use this flag (though we could choose to use this version only with incremental + split modules, if we decide it's not worth the above regressions).