-
Notifications
You must be signed in to change notification settings - Fork 10.2k
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
Support file compilation dir #41060
Closed
Closed
Support file compilation dir #41060
Conversation
This file contains 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
…-thoughts Fix miss-parse diagnostic to say "actor"
This normalizes the path so that we always have the mapping in normal form. This fixes a bug in the cross-module import tracing, allowing us to finally enable the test on Windows.
Enable the Serialization/restrict-swiftmodule-to-revision on Windows. This test was unnecessarily disabled on Windows due to the use of environment variables which can be accommodated by using the `env` command.
rdar://86809003
[SourceKit] Disable a failing test case for 'request.compile'
This reverts commit 1e5df70. This does not actually impact the build, so revert it to reduce the complexity in the build.
Pessimistic, non-iterative data flow for analyzing backward reachability from a set of last uses to their dominating def or nearest barrier. Meet: ReachableEnd(predecessor) = intersection(ReachableBegin, successors) Intended for frequently called utilities where minimizing the cost of data flow is more important than analyzing reachability across loops. Expected to visit very few blocks because barriers often occur close to a last use. Note: this does not require initializing bitsets for all blocks in the function for each SSA value being analyzed.
Extract and rewrite the destroy hoisting algorithm originally from CopyForwarding (in 2014). This is now a light-weight utility for hoisting destroy_addr instructions. Shrinking an object's memory lifetime can allow removal of copy_addr and other optimization. This is extremely low-overhead and can run at any optimization level without dependency on any analysis. This algorithm is: - Incremental - SSA-based - Canonical - Free from alias analysis See file-level comments. The immediate purpose is to specify and test the constraints introduced by adding lexical variable lifetimes to SIL semantics. It can be used as a template for end_borrow hoisting. Ultimately, this utility can be invoked within any pass that needs to optimize a particular uniquely identified address. It will be used to remove much of the complexity from CopyForwarding.
Fix the module hash stored in -gmodules skeleton units
Some globals, like static stored properties, are lazily initialized. For situations where we do a direct access to that property, we will first call a function that tries to initialize the var if needed, before returning the address of the global to perform the direct access. In this specific case, we were not on the right actor when invoking that function. fixes rdar://83411416
Revert "build: add a workaround for CMake[>=3.22] and SourceKit"
Serialization: normalize the path before use
… guaranteed argument
tests: enable Serialization test on Windows
`getPointerToMethod()` should acoount for the fact that distributed thunk is an async function, so direct pointer should be to "async pointer" information instead of SIL function.
[Distributed] IRGen: A couple of fixes for accessor
…le#40640) Focus on options that are not defined in `StandaloneOverlay.cmake` and which defaults are not computed. Addresses rdar://86723819
[android] Remove ICU build flags since that requirement was dropped in apple#40340
The API is not constrained to methods only, it should support computed properties as well.
For a declaration that has a named opaque type, create a complete generic signature describing the opaque type that includes the specified generic parameters and any requirements within that generic parameter list. This aligns the representation of named opaque types with unnamed ('some P') opaque result types, so we get the same inference behavior. Introduce an egregious hack in type resolution to fake name lookup for the generic parameters that are specified as part of a named opaque type. This is to be replaced with the proper name lookup mechanism to find those generic parameters, such that type resolution can turn them into opaque type archetypes. There are also a number of issues with structural opaque types that are brought to the fore by named opaque types, especially the fact that OpaqueTypeDecl does not retain the mapping from specific instances of `some` to the corresponding (implicit) generic parameter, and generally assumes that the underlying type of the OpaqueTypeDecl itself is a generic type parameter. Addressing these shortcomings will benefit both features.
Generalize the implementation of opaque type declarations to maintain the "ordinal", which represents a particular "some" utterance in a structural opaque type, throughout more of the compiler. The ordinal value for a given "some" matches with the index of the corresponding generic parameter in the opaque type declaration's generic signature. To properly be able to determine the ordinal for a given "some" type representation, retain all of the "some" type representations in the `OpaqueTypeDecl` (using trailing storage), so we can map them to the proper generic parameter and ordinal later on.
…ypes. Serialize the ordinal value of OpaqueTypeArchetypeTypes and properly set the interface type of OpaqueTypeDecl on deserialization.
Use the POSIX path separators for the test, a subsequent change will add an explicit test for windows path separators when fixing the JSON emission.
…esult builder context
…ormance Tolerate missing Sendable conformances on superclasses.
This may be the cause of the instability we've been seeing on the bots here. If a type variable is used as the pattern type across allocation arenas, we may incorrectly reuse a cache entry and it could be substituted a second time for a bogus type. rdar://87413287
…serlib [SwiftSyntax] Avoid linking clangAST in SwiftSyntaxParserLib build
…388c5c882d89cab7912 [move-function] Fix _move SILGen test to match current codegen.
… test. Due to rdar://87429620, test/AutoDiff/SILOptimizer/differentiation_diagnostics.swift is still using `-requirement-machine=off`. This patch moves the reproducer to a standalone XFAIL test, and removes `-requirement-machine=off` from differentiation_diagnostics.swift.
…() should return CanType
This will replace the 'concrete type in domain' hack. Instead of finding some other type parameter with the same concrete type and a compatible starting symbol, this finds a prefix of the original term. This allows the induced same-type requirement to be described with a rewrite path.
…tion-escalation-race Resolve race between task creation and concurrent escalation and cancellation.
Propagate Pattern Arena When Allocating PackExpansionTypes
…fer (apple#40814) * [Distributed] Adjust interface of `swift_distributed_execute_target` Since this is a special function, `calleeContext` doesn't point to a direct parent but instead both parent context (uninitialized) and resume function are passed as last arguments which means that `callContext` has to act as an intermediate context in call to accessor. * [Distributed] Drop optionality from result buffer in `_executeDistributedTarget` `RawPointer?` is lowered into a two arguments since it's a struct, to make it easy let's just allocate an empty pointer for `Void` result. * [Distributed] NFC: Update _remoteCall test-case to check multiple different result types
This change adds support for WASI in stdlib tests. Some tests that expect a crash to happen had to be disabled, since there's currently no way to observe such crash from a WASI host.
test: add a local lit configuration for Interop
…ion-rewrite-path-fixes RequirementMachine: Two more fixes for -requirement-machine-protocol-signatures=verify
2. Implement the logic: Configure DebugCompilationDir with the path specified by the flag, otherwise with current working directory. 3. Add test case
2. Use %target-swiftc_driver for test case instead 3. Add test case for absolute path 4. Code clean
2. Add a test case for path `.` 3. Use regular expression for file path separator 4. Remove std::string() constructor 5. Remove ArgumentIsPath flag
2. Fix windows test case
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.
Original PR is already merged to
main
. Would like to merge it to Swift 5.6 branch as well.Resolves SR-5694