Skip to content

Support a package SILLinkage #71083

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 1 commit into from
Feb 7, 2024
Merged

Support a package SILLinkage #71083

merged 1 commit into from
Feb 7, 2024

Conversation

elsh
Copy link
Contributor

@elsh elsh commented Jan 23, 2024

Decls with a package access level are currently set to public SIL linkages. This limits the ability to have more fine-grained control and optimize around resilience and serialization.
This PR introduces a separate SIL linkage and FormalLinkage for package decls, pipes them down to IRGen, and updates linkage checks to include package linkage.

Resolves rdar://121409846

@elsh
Copy link
Contributor Author

elsh commented Jan 23, 2024

@swift-ci smoke test

1 similar comment
@elsh
Copy link
Contributor Author

elsh commented Jan 24, 2024

@swift-ci smoke test

@elsh elsh requested a review from eeckstein January 25, 2024 15:01
@elsh
Copy link
Contributor Author

elsh commented Jan 29, 2024

@swift-ci smoke test

1 similar comment
@elsh
Copy link
Contributor Author

elsh commented Jan 29, 2024

@swift-ci smoke test

@elsh
Copy link
Contributor Author

elsh commented Jan 30, 2024

@swift-ci smoke test

@elsh elsh force-pushed the es-sil-pkg branch 2 times, most recently from fd29f75 to 005d1ba Compare January 31, 2024 15:33
@elsh
Copy link
Contributor Author

elsh commented Jan 31, 2024

@swift-ci test source compatibility

1 similar comment
@elsh
Copy link
Contributor Author

elsh commented Jan 31, 2024

@swift-ci test source compatibility

@elsh elsh changed the title Introduce new SILLinkage and FormalLinkage for package decls. Support a package SILLinkage Jan 31, 2024
Copy link
Contributor

@eeckstein eeckstein left a comment

Choose a reason for hiding this comment

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

The SIL part LGTM!

@elsh
Copy link
Contributor Author

elsh commented Feb 1, 2024

@swift-ci test source compatibility

Decls with a package access level are currently set to public SIL
linkages. This limits the ability to have more fine-grained control
and optimize around resilience and serialization.
This PR introduces a separate SIL linkage and FormalLinkage for
package decls, pipes them down to IRGen, and updates linkage checks
at call sites to include package linkage.

Resolves rdar://121409846
@elsh
Copy link
Contributor Author

elsh commented Feb 6, 2024

@swift-ci test source compatibility

1 similar comment
@elsh
Copy link
Contributor Author

elsh commented Feb 6, 2024

@swift-ci test source compatibility

@elsh
Copy link
Contributor Author

elsh commented Feb 6, 2024

@swift-ci smoke test

@elsh
Copy link
Contributor Author

elsh commented Feb 7, 2024

CI source compat suite failure below is a known issue on main branch (#71423) / rdar://122427719 and is unrelated to this PR.

========================================
XFailures:
  XFAIL: https://github.com/apple/swift/issues/70742, CoreStore, 4.2, 286360, CoreStore watchOS, generic/platform=watchOS
  XFAIL: https://github.com/apple/swift/issues/70742, CoreStore, 4.2, 286360, CoreStore tvOS, generic/platform=tvOS
  XFAIL: https://github.com/apple/swift/issues/70742, CoreStore, 4.2, 286360, CoreStore OSX, generic/platform=macOS
  XFAIL: https://github.com/apple/swift/issues/70742, CoreStore, 4.2, 286360, CoreStore iOS, generic/platform=iOS
  XFAIL: https://github.com/apple/swift/issues/70742, CoreStore, 4.0, 83e608, CoreStore watchOS, generic/platform=watchOS
  XFAIL: https://github.com/apple/swift/issues/70742, CoreStore, 4.0, 83e608, CoreStore tvOS, generic/platform=tvOS
  XFAIL: https://github.com/apple/swift/issues/70742, CoreStore, 4.0, 83e608, CoreStore OSX, generic/platform=macOS
  XFAIL: https://github.com/apple/swift/issues/70742, CoreStore, 4.0, 83e608, CoreStore iOS, generic/platform=iOS
  XFAIL: https://github.com/apple/swift/issues/69410, Kingfisher, 5.0, 44450a, Kingfisher, generic/platform=watchOS
  XFAIL: https://github.com/apple/swift/issues/65197, ProcedureKit, 5.0, a7fa56, ProcedureKit, generic/platform=watchOS
  XFAIL: https://github.com/apple/swift/issues/65197, ProcedureKit, 4.2, 94193d, ProcedureKit, generic/platform=watchOS
  XFAIL: https://github.com/apple/swift/issues/65197, PromiseKit, 5.0, 8e5f5d, PromiseKit, generic/platform=watchOS
  XFAIL: https://github.com/apple/swift/issues/65197, PromiseKit, 4.0, c538a2, PromiseKit, generic/platform=watchOS
  XFAIL: https://github.com/apple/swift/issues/65204, R.swift, 5.0, f96758, Swift Package
  XFAIL: https://github.com/apple/swift/issues/65204, R.swift, 4.2, f96758, Swift Package
  XFAIL: https://github.com/apple/swift/issues/70744, ReactiveSwift, 5.0, e60a8b, ReactiveSwift-watchOS, generic/platform=watchOS
  XFAIL: https://github.com/apple/swift/issues/70744, ReactiveSwift, 4.0, 46fb4d, ReactiveSwift-watchOS, generic/platform=watchOS
  XFAIL: https://github.com/apple/swift/issues/70970, Result, 5.0, c30700, Swift Package
  XFAIL: https://github.com/apple/swift/issues/65202, swift-protobuf-plugin-example, 5.0, 85bec0, Swift Package
  XFAIL: https://github.com/apple/swift/issues/65197, mapper, 5.0, 877dc5, Mapper, generic/platform=watchOS
  XFAIL: https://github.com/apple/swift/issues/65197, mapper, 4.2, d501cb, Mapper, generic/platform=watchOS
  XFAIL: https://github.com/apple/swift/issues/65197, mapper, 4.0, d501cb, Mapper, generic/platform=watchOS
  XFAIL: https://github.com/apple/swift/issues/57431, siesta, 5.0, cb9c1b, Swift Package
========================================
Failures:
  FAIL: penny-bot, 5.9, 62006b, Swift Package
========================================
Action Summary:
     Passed: 346
     Failed: 1
    XFailed: 23
    UPassed: 0
      Total: 370
========================================
Repository Summary:
      Total: 123
========================================
Result: FAIL
========================================

https://ci.swift.org/job/swift-PR-source-compat-suite-debug-macos/1378/console
https://ci.swift.org/job/swift-PR-source-compat-suite-macos/1383/console

@elsh elsh merged commit e38bc97 into main Feb 7, 2024
@elsh elsh deleted the es-sil-pkg branch February 7, 2024 00:10
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.

2 participants