Commit Graph

353 Commits

Author SHA1 Message Date
Slava Pestov
9ebb5f2e03 AST: Rename VarDecl::getType() to VarDecl::getTypeInContext()
This is a futile attempt to discourage future use of getType() by
giving it a "scary" name.

We want people to use getInterfaceType() like with the other decl kinds.
2023-08-04 14:19:25 -04:00
Konrad `ktoso` Malawski
8c8fdf90c4 [Distributed] Try redirecting AST dump to file for test 2023-07-12 18:01:50 +09:00
Konrad `ktoso` Malawski
5fd22b09af Merge pull request #67043 from ktoso/wip-poc-validate-distributed-param 2023-07-04 12:04:16 +09:00
Konrad `ktoso` Malawski
037df0130f [Distributed] PoC using a property wrapper on distributed func param for validation 2023-06-30 11:28:27 +09:00
Arnold Schwaighofer
fc766a39d3 Fix some more tests 2023-06-29 16:16:56 -07:00
Doug Gregor
740cd7bd61 [Distributed] Implement distributed actor semantics in call checking
The move to perform all call checking that can cross concurrency
domains into one place dropped the specific logic for distributed
actor calls. Introduce that logic, cleaning it up to consistently use
the "known to be local" semantics needed for distributed actors.
2023-06-26 13:39:56 -07:00
Arnold Schwaighofer
39da8be6f4 Fix test/Distributed directory 2023-06-20 13:14:59 -07:00
Konrad `ktoso` Malawski
b420190059 Merge pull request #66695 from ktoso/wip-distributed-harden-empty-impls
[Distributed] Harden typechecker against completely empty DAS types
2023-06-16 22:24:43 +09:00
Konrad `ktoso` Malawski
fc7ecc8f67 [Distributed] Harden typechecker against completely empty DAS types 2023-06-16 11:54:51 +09:00
Arnold Schwaighofer
316e982bbf Fix linux tests 2023-06-14 10:49:50 -07:00
Arnold Schwaighofer
c1a93e0bde Move tests over to use the %use_no_opaque_pointers option 2023-06-14 10:49:48 -07:00
Michael Gottesman
59c8cff917 [borrowing] Add support for borrowing/consuming copyable types to be a noimplicitcopy type.
rdar://108383660
2023-06-06 18:12:29 -04:00
Tristan Labelle
98bace060f Fix case mismatch in test error message expectation 2023-05-25 13:54:45 -04:00
Konrad `ktoso` Malawski
6e14025b95 [Distributed] Explicitly ban __owned and other specifiers we dont support 2023-05-25 10:59:01 +02:00
Konrad `ktoso` Malawski
237f552e8f add missing %empty-directory in test 2023-05-22 14:13:07 +02:00
swift-ci
222946b1e1 Merge pull request #65952 from ktoso/wip-destroy-dist-args-reverse-order
[Distributed] Ensure to swift_release during destroying decoded distributed call arguments
2023-05-19 17:28:20 -07:00
Konrad `ktoso` Malawski
cd3e243ff8 [Distributed] Ensure decoded classes get refcounted down to 0 from decoding 2023-05-19 23:29:49 +02:00
Konrad `ktoso` Malawski
00243c6d8b [Distributed] Report error rather than crash no ad-hoc requirements are implemented 2023-05-19 16:06:53 +02:00
Konrad `ktoso` Malawski
24a5458cbe [Distributed][Test] Avoid overlapping dump-ast which cause flaky test 2023-05-18 12:01:10 +02:00
Pavel Yaskevich
89ba257037 [Tests] Distributed/NFC: Add a test-case for rdar://109207043 2023-05-15 17:31:22 -07:00
Yuta Saito
5f94468416 [Test] Disable part of distributed tests on singlethreaded global executor 2023-04-29 10:58:04 +00:00
Konrad `ktoso` Malawski
ecb9df18bf Always dump input of distributed_actor_executor_ast.swift
This test likes to fail once in a blue moon and we don't have enough information to debug when those happen.

Dump the entire input in case the failure happens again.
2023-04-13 20:26:43 +09:00
Konrad `ktoso` Malawski
80b93863a9 [Concurrency] Rename Job to ExecutorJob, ease transition with typealias (#65006) 2023-04-11 14:52:10 +09:00
Konrad `ktoso` Malawski
b666fc672e [Executors] Remote distributed actors get "crash on enqueue" default executor (#64969) 2023-04-10 19:12:03 +09:00
Konrad `ktoso` Malawski
854b889781 Fix test using assume APIs, which landed concurrently to API renames 2023-04-04 13:16:52 +09:00
Konrad `ktoso` Malawski
10b49bcb85 [Executors] Ensure we treat DA older than 5.9 always as DefaultActor (#64800) 2023-04-04 11:04:53 +09:00
Konrad `ktoso` Malawski
b8780c9d9e [Executors] Move assert/assume APIs onto actors; assumeIsolated() (#64812) 2023-04-04 07:44:43 +09:00
Konrad `ktoso` Malawski
ac6f569a21 Fix matching in distributed_actor_executor_ast.swift 2023-04-01 10:07:22 +09:00
Konrad `ktoso` Malawski
47676f9a71 [Distributed] AST test was too picky about asserting the shape; (#64809)
depending on configuration some attributes may not be present in the AST
here it seems, causing the test to fail in some configurations
2023-03-31 21:29:09 +09:00
Konrad `ktoso` Malawski
345c221f56 [Concurrency] Distributed actor's unownedExecutor should be optional (#64499) 2023-03-22 08:40:41 +09:00
Saleem Abdulrasool
06725cca3d IRGen: correct field counting for distributed actors (#64439) 2023-03-17 13:31:19 +09:00
Allan Shortlidge
b2a1e16a80 Disable distributed_actor_assume_executor.swift because it is failing on Windows. 2023-03-16 13:17:07 -07:00
Konrad `ktoso` Malawski
5d2a311dda [Executors] assumeOnLocalDistributedActorExecutor (isolated Act) -> 2023-03-16 13:23:47 +09:00
Konrad `ktoso` Malawski
41f99fc2ae [Executors][Distributed] custom executors for distributed actor (#64237)
* [Executors][Distributed] custom executors for distributed actor

* harden ordering guarantees of synthesised fields

* the issue was that a non-default actor must implement the is remote check differently

* NonDefaultDistributedActor to complete support and remote flag handling

* invoke nonDefaultDistributedActorInitialize when necessary in SILGen

* refactor inline assertion into method

* cleanup

* [Executors][Distributed] Update module version for NonDefaultDistributedActor

* Minor docs cleanup

* we solved those fixme's

* add mangling test for non-def-dist-actor
2023-03-15 23:42:55 +09:00
Anthony Latsis
14b70f306b DiagnosticVerifier: Default expected fix-it start line to the diagnostic's 2023-03-08 12:10:27 +03:00
Kyungwoo Lee
68563d9028 Fix Test in Release Build
This fixes `ninja check-swift-validation` in the Release+Distribution build as the block name is set under `#ifndef NDEBUG`.
2023-02-21 21:37:22 -08:00
Konrad `ktoso` Malawski
629ac65eb0 [Distributed] better test for SIL lifetime with AddressOnly types 2023-02-21 14:20:52 +09:00
Konrad `ktoso` Malawski
7ecfc8292b [Distributed] correct take semantics for synthesized ID assignments
cleanup: no need to dump input always
2023-02-20 22:47:29 +09:00
Erik Eckstein
d25b1ed834 Optimizer: Replace the MandatoryCombine pass with a Simplification pass, which is implemented in Swift
The Swift Simplification pass can do more than the old MandatoryCombine pass: simplification of more instruction types and dead code elimination.
The result is a better -Onone performance while still keeping debug info consistent.

Currently following code patterns are simplified:
* `struct` -> `struct_extract`
* `enum` -> `unchecked_enum_data`
* `partial_apply` -> `apply`
* `br` to a 1:1 related block
* `cond_br` with a constant condition
* `isConcrete` and `is_same_metadata` builtins

More simplifications can be added in the future.

rdar://96708429
rdar://104562580
2023-02-09 06:50:05 +01:00
Konrad `ktoso` Malawski
f35cd69d4c update accessor tests for 32bit 2023-02-06 21:32:07 +09:00
Konrad `ktoso` Malawski
af6eed9d5f distributed_actor_accessor_thunks_64bit needed fixups 2023-02-06 21:29:20 +09:00
Konrad `ktoso` Malawski
0ffaf17509 [Distributed] move test file to more logical place 2022-12-02 12:58:56 +09:00
Konrad `ktoso` Malawski
b9e1b9cbc2 [Distributed] Fix dist property being implicitly async after refactor (#61995) 2022-11-10 19:23:47 +09:00
Allan Shortlidge
b3403ff9fc Sema: Improve derived conformance diagnostics for actors.
Previously, actor declarations were identified by the diagnostics as classes.
2022-11-08 19:33:32 -08:00
Konrad `ktoso` Malawski
ae23892276 Merge branch 'main' into wip-prevent-async-overloads-dist 2022-09-20 20:31:04 +09:00
Hamish Knight
b12015c343 [SIL] Introduce the increment_profiler_counter instruction
This is a dedicated instruction for incrementing a
profiler counter, which lowers to the
`llvm.instrprof.increment` intrinsic. This
replaces the builtin instruction that was
previously used, and ensures that its arguments
are statically known. This ensures that SIL
optimization passes do not invalidate the
instruction, fixing some code coverage cases in
`-O`.

rdar://39146527
2022-09-07 17:55:13 +01:00
Hamish Knight
ab7b691cca [Profiler] Fix distributed deinit crash when emitting coverage
We need to emit the profiler increment in the
`deinitBodyBB` if we're within a distributed
actor.
2022-09-01 20:29:50 +01:00
Holly Borla
8713d78704 [PrintOptions] Print explicit 'any' in SIL. 2022-08-18 01:15:12 -04:00
Duo Wang
21154d56f7 fix missing test codesign 2022-08-04 10:36:13 -07:00
Mishal Shah
a436f98fff Merge pull request #60286 from wd-doylle/fix/test_codesign
[test] fix missing codesign in test files
2022-08-01 13:14:53 -07:00