Skip to content

Conversation

brentleyjones
Copy link
Collaborator

@brentleyjones brentleyjones commented Oct 14, 2021

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. 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).

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.
@google-cla google-cla bot added the cla: yes label Oct 14, 2021
@lyft-lint-bot
Copy link

Lyft integration job started: https://buildkite.com/lyft/rules-swift/builds/71 (must be Lyft employee to view)

@brentleyjones
Copy link
Collaborator Author

I'm not sure how to make the test differ based on Xcode version used.

@keith
Copy link
Member

keith commented Oct 22, 2021

do the embedded swiftdeps include all the normal things like timestamps?

@keith
Copy link
Member

keith commented Jul 5, 2025

🙏🏻

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.

3 participants