Skip to content

SILGen: Introduce option to skip non-exportable declarations #69141

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 4 commits into from
Oct 12, 2023

Conversation

tshortli
Copy link
Contributor

@tshortli tshortli commented Oct 12, 2023

When -experimental-skip-non-exportable-decls is specified, only emit SIL for declarations that are exposed to clients.

Resolves rdar://116774565

Always check for the flag before evaluating `TypeCheckSourceFileRequest`,
rather than just in `performSema()`. This ensures later compilation stages that
re-request eager typechecking honor the flag.
This method centralizes the logic for determining whether to skip emission of
SIL associated with a Decl.
This method is a more ergonomic utility wrapping DeclExportabilityVisitor.
When the flag is specified, only emit SIL for declarations that are exposed to
clients.

Resolves rdar://116774565
@tshortli tshortli force-pushed the silgen-lazy-typecheck branch from 4787cdb to b8bddb5 Compare October 12, 2023 05:41
@tshortli
Copy link
Contributor Author

@swift-ci please smoke test

@tshortli tshortli marked this pull request as ready for review October 12, 2023 05:43
@tshortli tshortli merged commit 229398c into swiftlang:main Oct 12, 2023
@tshortli tshortli deleted the silgen-lazy-typecheck branch October 12, 2023 17:49
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.

1 participant