-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Serialize module dependencies in swift module files #84412
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, assuming the DWARF + reference to the self module is in a later PR.
0a414e5 to
56bdb55
Compare
56bdb55 to
743d554
Compare
743d554 to
d8df0ce
Compare
|
@swift-ci test |
|
@swift-ci test source compatibility |
d8df0ce to
9adac78
Compare
|
(Added an escape hatch flag) |
|
@swift-ci test |
|
@swift-ci test source compatibility |
9adac78 to
8ed4121
Compare
|
@swift-ci test |
|
@swift-ci test source compatibility |
For clients, such as the debugger, who do not have access the full output of the dependency scanner, it is a huger performance and correctness improvement if each explicitly built Swift module not just serialized all its Clang .pcm dependencies (via the serialized Clang compiler invocation) but also its direct Swift module dependencies. This patch changes the Swift module format to store the absolute path or cas cache key for each dependency in the INPUT block, and makes sure the deserialization makes these available to the ESML. rdar://150969755
8ed4121 to
c91211a
Compare
|
@swift-ci smoke test |
|
@swift-ci test |
|
@swift-ci test macOS |
|
@swift-ci test windows |
|
Iphone simulator failures seem to fail on all recent PRs on the bot. |
|
@swift-ci smoke test |
For clients, such as the debugger, who do not have access the full
output of the dependency scanner, it is a huger performance and
correctness improvement if each explicitly built Swift module not just
serialized all its Clang .pcm dependencies (via the serialized Clang
compiler invocation) but also its direct Swift module dependencies.
This patch changes the Swift module format to store the absolute path
(or casid) for each dependency in the INPUT block, and makes sure
the deserialization makes these available to the ESML.
rdar://150969755