Skip to content

[ParseableInterfaces] Preserve -enforce-exclusivity in interface args #23281

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

Conversation

harlanhaskins
Copy link
Contributor

By default, we compile the standard library with
-enforce-exclusivity=unchecked. If we don't preserve this argument,
then the standard library compiled from an interface includes
exclusivity enforcement, which pessimizes inlining those functions,
which decreases performance for clients.

Part of rdar://46431767

By default, we compile the standard library with
`-enforce-exclusivity=unchecked`. If we don't preserve this argument,
then the standard library compiled from an interface includes
exclusivity enforcement, which pessimizes inlining those functions,
which decreases performance for clients.

Part of rdar://46431767
Copy link
Contributor

@nathawes nathawes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@harlanhaskins
Copy link
Contributor Author

@swift-ci please smoke test

@jrose-apple
Copy link
Contributor

"Thanks, I hate it." I guess if we ever change this behavior in the stdlib, it'll automatically update. It's unfortunate that we can't actually remove this option in the future, though; we'll have to ignore it instead.

@harlanhaskins
Copy link
Contributor Author

It's unfortunate, yeah. Alternatively, we could hard-code it on for the stdlib, but I don't like that either.

@jrose-apple
Copy link
Contributor

No, I agree, this is the least bad thing.

@harlanhaskins
Copy link
Contributor Author

Linux failure:

17:25:55 <unknown>:0: warning: missing submodule 'Dispatch'
17:25:55 <unknown>:0: error: cannot load underlying module for 'Dispatch'

🤔

@harlanhaskins
Copy link
Contributor Author

@swift-ci please smoke test Linux platform

@harlanhaskins harlanhaskins merged commit 875cd65 into swiftlang:master Mar 14, 2019
harlanhaskins pushed a commit to harlanhaskins/swift that referenced this pull request Mar 15, 2019
…swiftlang#23281)

By default, we compile the standard library with
`-enforce-exclusivity=unchecked`. If we don't preserve this argument,
then the standard library compiled from an interface includes
exclusivity enforcement, which pessimizes inlining those functions,
which decreases performance for clients.

Part of rdar://46431767
harlanhaskins pushed a commit that referenced this pull request Mar 18, 2019
…#23281) (#23344)

By default, we compile the standard library with
`-enforce-exclusivity=unchecked`. If we don't preserve this argument,
then the standard library compiled from an interface includes
exclusivity enforcement, which pessimizes inlining those functions,
which decreases performance for clients.

Part of rdar://46431767
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