forked from swiftlang/swift
-
Notifications
You must be signed in to change notification settings - Fork 30
Merge main 2023-02-11 #5284
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
Merge main 2023-02-11 #5284
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
… more 2.24.2 is the oldest version that didn't reproduce the code signing issue from swiftlang#62023 with the latest Xcode release (14.2).
These were disabled becuase they didn’t work properly in bots testing iOS or other platforms. Re-enable them for macOS until they can be fully repaired.
This implements cursor info resolving for a few expression types using the constraint system. This allows us to detect ambiguous results – we cannot deliver them yet but that will be done in a follow-up PR.
Running the SourceKit stress tester with verification of solver-based cursor info returned quite a few differences but in all of them, the old AST-based implementation was actually incorrect. So, instead of verifying the results, deliver the results from solver-baesd cursor info and only fall back to AST-based cursor info if the solver-based implementation returned no results. rdar://103369449
…dencies on the command line Do this by computing a transitive closure on the computed dependency graph, relying on the fact that it is a DAG. The used algorithm is: ``` for each v ∈ V { T(v) = { v } } for v ∈ V in reverse topological order { for each (v, w) ∈ E { T(v) = T(v) ∪ T(w) } } ```
… for self-contained commands - '-o <output_path>' - '-disable-implicit-swift-modules' - '-Xcc -fno-implicit-modules' and '-Xcc -fno-implicit-module-maps' - '-candidate-module-file' These were previously supplied by the driver. Instead, they will now be ready to be run directly from the dependency scanner's output.
…to-conformed container types This makes sure that Swift is only auto-conforming C++ container types to `CxxSequence`/`CxxConvertibleToCollection` if they expose non-mutating `begin()` and `end()` methods. We might want to make `begin()` and `end()` non-mutating in the near future to enable performance optimizations. This change makes sure that client code relying on the automatic conformances doesn't suddenly stop compiling if/when the mutability requirement on the protocol function changes.
Requesting a callee locator from locator in pattern matching context should always yield pattern match.
…use following Clang changes
- the intermediate length (15 bytes) didn’t show results significantly different from those produced by the short length benchmark (7 bytes).
…n of PrunedLiveBlocks called FieldSensitivePrunedLiveBlocks. This will let the non-field sensitive version use a more performant implementation internally. This is important since PrunedLiveBlocks is used in the hot path when working with Ownership SSA, while the field sensitive version is only used for certain diagnostics. NOTE: I did not refactor PrunedLiveness to use the faster implementation... this is just a quick pass over the code to prepare for that change.
… different sized root values.
… invoked by the tester/main checker pass rather than a utility. This is in preparation for sinking the main computation of the pass into an implementation local helper struct that can process multiple values. I am doing this so we can use the same code to process switch_enum arguments and am using the current implementation to make sure I don't break anything.
…ansform into a private namespace in preparation for sinking into the implementation file.
… its own header and out of MoveOnlyObjectChecker.h
… its interface by moving gatherUses onto the impl.
… an implementation local static function.
…DestructureTransform driver to the local Implementation.
…ransform in the implementation file.
… and allow for it to be initialized separately from construction.
…ecific cleanup and inserting compensating destroys.
…terestingOperandIdnexMap, and blocksToUses into the implementation. For now, I am creating new implementations every time... but once I get the tests passing, I am going to improve the performance by reusing the same Implementation for all computations so we can reuse memory.
It's possible for out-of-scope type variable to be the type of declaration if such declaration is recursively referenced in the body of a closure located in its initializer expression. In such cases type of the variable declaration cannot be connected to the closure because its not known in advance (determined by the initializer itself). Resolves: swiftlang#63455
• Remove dependency on where the `init` selector is emitted. • Use variable names captured from previous lines instead of assuming specific names.
This allows dynamically indexing into tuples. IRGen not yet implemented. I think I'm going to need a type_refine_addr instruction in order to handle substitutions into the operand type that eliminate the outer layer of tuple-ness. Gonna handle that in a follow-up commit.
Made TypeBase's implementation dispatch to the implementation specific to SILPackType.
…if invoked on a symbol from a different module
ABI changes due to imported module changes should be reflected by other symbol changes. Reporting module import changes seems to be redundant.
This reverts commit af70cc5. # Conflicts: # test/Serialization/Safety/unsafe-decls.swift
For the move-only checker
Limit the amount of parallelism on asan LLDB bots to nphyscpus/2
Add visitAccessPathBaseUses API
When type erased, the constraint should be printed as the layout name (e.g. `_Class` and not `AnyObject`).
…cursor-info [CursorInfo] Implement a few expression references as solver-based
[interop][SwiftToCxx] dispatch Swift class methods correctly using th…
Encapsulate all the complexity of reborrows and guaranteed phi in 3 ownership liveness interfaces: LinerLiveness, InteriorLiveness, and ExtendedLiveness.
[Test] Temporarily disable failing test to unblock CI
…-safety [Serialization] Move deserialization safety behind an env var or flag
[Reflection] Some bug fixes and other improvements
Add ownership liveness utilities
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.
No description provided.