-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[rebranch] Merge branch 'main' into rebranch #39322
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
nate-chandler
merged 36 commits into
swiftlang:rebranch
from
nate-chandler:20210915/merge-main-to-rebranch/1
Sep 15, 2021
Merged
[rebranch] Merge branch 'main' into rebranch #39322
nate-chandler
merged 36 commits into
swiftlang:rebranch
from
nate-chandler:20210915/merge-main-to-rebranch/1
Sep 15, 2021
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… disjoint sets of different size
The new flag will guard work on the experimental implementation of tracking lexical lifetimes in SIL.
When -enable-experimental-defined-lifetimes is passed, SILGen emits lexical scopes for lets.
I wasn't aware that arm64e was a thing in open-source, but these two tests are failing on Apple Silicon both on the main branch and on the rebranch branch, so I'm disabling it for now. The failing tests are: - ModuleInterface/arm64e-fallback.swift - stdlib/Reflection_objc.swift
The TOC was referencing a no longer existing "Ubuntu Linux" section.
Serialize the canonical name of the SDK used when building a swiftmodule file and use it to ensure that the swiftmodule file is loaded only with the same SDK. The SDK name must be passed down from the frontend. This will report unsupported configurations like: - Installing roots between incompatible SDKs without deleting the swiftmodule files. - Having multiple targets in the same project using different SDKs. - Loading a swiftmodule created with a newer SDK (and stdlib) with an older SDK. All of these lead to hard to investigate deserialization failures and this change should detect them early, before reaching a deserialization failure. rdar://78048939
Tests using a mock SDK can't load the stdlib of the normal SDK (or the just-built one) with the recent changes. Use `-parse-stdlib` in those tests to prevent loading the stdlib implicitly.
…t SDK The API digester forces loading the stdlib which may pick up an stdlib from a different SDK than the one being tested. Disable the check enforcing loading only swiftmodules built for the same SDK.
The new flag will be used to track whether a borrow scope corresponds to a source-level lexical scope. Here, the flag is just documented, added to the instruction, represented in textual and serialized SIL, and cloned.
In order to correctly handle upper bound requirements arising from conditional conformances, we need to be able to ingest requirements introduced by conditional conformance extensions, which means recursively visiting the parent is no longer possible to do cleanly. It is simpler to substitute the generic type's entire generic context as a whole.
The upper bound on a nominal type's generic argument can have more requirements imposed on it than those written in the original nominal type's generic signature, depending on the requirements imposed on the nominal type itself, thanks to conditional conformances. IsBindableVisitor failed to take this into account when visiting the bindings of generic type arguments. This could cause Type::isBindableTo to provide a false positive for a substituted type that doesn't satisfy conditional conformances, but more importantly, SIL type lowering uses the same visitor to extract an upper bound generic signature for substituted SIL function types, and if it doesn't preserve requirements from conditional conformances on nominal types in that signature, it can end up building an incorrect substitution map. Fix this by passing down the upper bound from generic arguments even when visiting nominal types, and using those upper bounds to check for conditional conformances that add requirements to generic arguments while visiting them.
…est with requirement machine enabled
…es/let/initial [SILGen] Added [defined] lifetimes for lets behind flag.
…es/alloc_stack/lexical_flag [SIL] Added lexical flag to alloc_stack.
[Serialization] Restrict loading swiftmodule files to the SDK that built them
…-lowering-fix Have IsBindableVisitor consider conditional conformances
Fix TOC entry for Linux in GettingStarted
add aliases in test suite
…benchmarks [Benchmarks][stdlib] Adding an extra benchmark for set isDisjoint for disjoint sets of different size
control swift extended frame information emission On linux we default to disable the extended frame info (since the system libraries don't support it). On darwin the default is to automatically choose based on the deployment target. The Concurrency library explicitly forces extended frame information and the back deployment library explicitly disables it.
…ng-arm64e-tests Disabling arm64e testing in two tests
…od-self-type-fix SIL: Use correct SILFunctionConventions when computing method self type in verifier
[stdlib] Improve set isDisjoint by iterating on smaller set
We updated the Swift CI nodes to a version of Xcode that includes the fix for a regression in atos that broke sanitizer report symbolication. Regression: rdar://79151503 (If atos is handed a dSYM, it should find the binary rather than erring) Fix: rdar://80345994 (Regression: atos -p <pid> exits immediately) Radar-Id: rdar://80274830 Co-authored-by: Julian Lettner <julian.lettner@apple.com>
…ction_pointer_flags Add flag -swift-async-framepointer=auto,never,always to control swift extended frame information emission
Wasm/WASI doesn't currently support multi-threading, and libdispatch should be disabled when building for this target. Related to SR-12097.
…#38489)" (swiftlang#39320) This reverts commit 680fb6a.
Conflicts: include/swift/SIL/SILBuilder.h
@swift-ci please test |
Build failed |
Build failed |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Conflicts:
include/swift/SIL/SILBuilder.h