Skip to content

Commit 458f3b5

Browse files
committed
Test updates for previous commit.
1 parent 41cd6ef commit 458f3b5

17 files changed

+429
-374
lines changed

test/Concurrency/attr_execution/attr_execution.swift

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,36 +11,36 @@ func concurrentTest() async {}
1111

1212
// CHECK-LABEL: // callerTest()
1313
// CHECK: // Isolation: caller_isolation_inheriting
14-
// CHECK: sil hidden [ossa] @$s14attr_execution10callerTestyyYaF : $@convention(thin) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> () {
14+
// CHECK: sil hidden [ossa] @$s14attr_execution10callerTestyyYaF : $@convention(thin) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> () {
1515
nonisolated(nonsending)
1616
func callerTest() async {}
1717

1818
struct Test {
1919
// CHECK-LABEL: // closure #1 in variable initialization expression of Test.x
2020
// CHECK: // Isolation: caller_isolation_inheriting
21-
// CHECK: sil private [ossa] @$s14attr_execution4TestV1xyyYaYCcvpfiyyYaYCcfU_ : $@convention(thin) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ()
21+
// CHECK: sil private [ossa] @$s14attr_execution4TestV1xyyYaYCcvpfiyyYaYCcfU_ : $@convention(thin) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ()
2222
var x: () async -> Void = {}
2323

2424
// CHECK-LABEL: // Test.test()
2525
// CHECK: // Isolation: caller_isolation_inheriting
26-
// CHECK: sil hidden [ossa] @$s14attr_execution4TestV4testyyYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed Test) -> ()
27-
// CHECK: bb0([[ISOLATION:%.*]] : @guaranteed $Optional<any Actor>, [[SELF:%.*]] : @guaranteed $Test)
26+
// CHECK: sil hidden [ossa] @$s14attr_execution4TestV4testyyYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor, @guaranteed Test) -> ()
27+
// CHECK: bb0([[ISOLATION:%.*]] : @guaranteed $Builtin.ImplicitIsolationActor, [[SELF:%.*]] : @guaranteed $Test)
2828
// CHECK: [[X_REF:%.*]] = struct_extract %1, #Test.x
2929
// CHECK: [[X_REF_COPY:%.]] = copy_value [[X_REF]]
3030
// CHECK: [[BORROWED_X:%.*]] = begin_borrow [[X_REF_COPY]]
31-
// CHECK: apply [[BORROWED_X]]([[ISOLATION]]) : $@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ()
31+
// CHECK: apply [[BORROWED_X]]([[ISOLATION]]) : $@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ()
3232
// CHECK: } // end sil function '$s14attr_execution4TestV4testyyYaF'
3333
func test() async {
3434
await x()
3535
}
3636

3737
// CHECK-LABEL: // Test.testParam(fn:)
3838
// CHECK: // Isolation: caller_isolation_inheriting
39-
// CHECK: sil hidden [ossa] @$s14attr_execution4TestV9testParam2fnyyyYaYCcSg_tYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed Optional<@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ()>, @guaranteed Test) -> ()
40-
// CHECK: bb0([[ISOLATION:%.*]] : @guaranteed $Optional<any Actor>, [[OPT_FN:%.*]] : @guaranteed $Optional<@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ()>, [[SELF:%.*]] : @guaranteed $Test)
41-
// CHECK: bb1([[FN:%.*]] : @owned $@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ())
39+
// CHECK: sil hidden [ossa] @$s14attr_execution4TestV9testParam2fnyyyYaYCcSg_tYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor, @guaranteed Optional<@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ()>, @guaranteed Test) -> ()
40+
// CHECK: bb0([[ISOLATION:%.*]] : @guaranteed $Builtin.ImplicitIsolationActor, [[OPT_FN:%.*]] : @guaranteed $Optional<@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ()>, [[SELF:%.*]] : @guaranteed $Test)
41+
// CHECK: bb1([[FN:%.*]] : @owned $@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ())
4242
// CHECK: [[BORROWED_FN:%.*]] = begin_borrow [[FN]]
43-
// CHECK: apply [[BORROWED_FN]]([[ISOLATION]]) : $@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ()
43+
// CHECK: apply [[BORROWED_FN]]([[ISOLATION]]) : $@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ()
4444
// CHECK: } // end sil function '$s14attr_execution4TestV9testParam2fnyyyYaYCcSg_tYaF'
4545
func testParam(fn: (() async -> Void)?) async {
4646
await fn?()
@@ -49,11 +49,11 @@ struct Test {
4949

5050
// CHECK-LABEL: // testLocal()
5151
// CHECK: // Isolation: caller_isolation_inheriting
52-
// CHECK: sil hidden [ossa] @$s14attr_execution9testLocalyyYaF : $@convention(thin) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> () {
53-
// CHECK: bb0([[ISOLATION:%.*]] : @guaranteed $Optional<any Actor>)
54-
// CHECK: bb1([[FN:%.*]] : @owned $@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ())
52+
// CHECK: sil hidden [ossa] @$s14attr_execution9testLocalyyYaF : $@convention(thin) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> () {
53+
// CHECK: bb0([[ISOLATION:%.*]] : @guaranteed $Builtin.ImplicitIsolationActor)
54+
// CHECK: bb1([[FN:%.*]] : @owned $@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ())
5555
// CHECK: [[BORROWED_FN:%.*]] = begin_borrow [[FN]]
56-
// CHECK: apply [[BORROWED_FN]]([[ISOLATION]]) : $@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ()
56+
// CHECK: apply [[BORROWED_FN]]([[ISOLATION]]) : $@async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ()
5757
// CHECK: } // end sil function '$s14attr_execution9testLocalyyYaF'
5858
func testLocal() async {
5959
let fn: (() async -> Void)? = nil
@@ -62,20 +62,20 @@ func testLocal() async {
6262

6363
// CHECK-LABEL: // takesClosure(fn:)
6464
// CHECK: // Isolation: unspecified
65-
// CHECK: sil hidden [ossa] @$s14attr_execution12takesClosure2fnyyyYaYCXE_tF : $@convention(thin) (@guaranteed @noescape @async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ()) -> ()
65+
// CHECK: sil hidden [ossa] @$s14attr_execution12takesClosure2fnyyyYaYCXE_tF : $@convention(thin) (@guaranteed @noescape @async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ()) -> ()
6666
func takesClosure(fn: () async -> Void) {
6767
}
6868

6969
// CHECK-LABEL: sil hidden [ossa] @$s14attr_execution11testClosureyyF : $@convention(thin) () -> ()
70-
// CHECK: [[CLOSURE:%.*]] = function_ref @$s14attr_execution11testClosureyyFyyYaYCXEfU_ : $@convention(thin) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ()
71-
// CHECK: [[THUNKED_CLOSURE:%.*]] = thin_to_thick_function %0 to $@noescape @async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ()
72-
// CHECK: [[TAKES_CLOSURE:%.*]] = function_ref @$s14attr_execution12takesClosure2fnyyyYaYCXE_tF : $@convention(thin) (@guaranteed @noescape @async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ()) -> ()
70+
// CHECK: [[CLOSURE:%.*]] = function_ref @$s14attr_execution11testClosureyyFyyYaYCXEfU_ : $@convention(thin) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ()
71+
// CHECK: [[THUNKED_CLOSURE:%.*]] = thin_to_thick_function %0 to $@noescape @async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ()
72+
// CHECK: [[TAKES_CLOSURE:%.*]] = function_ref @$s14attr_execution12takesClosure2fnyyyYaYCXE_tF : $@convention(thin) (@guaranteed @noescape @async @callee_guaranteed (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ()) -> ()
7373
// CHECK: apply [[TAKES_CLOSURE]]([[THUNKED_CLOSURE]])
7474
// CHECK: } // end sil function '$s14attr_execution11testClosureyyF'
7575

7676
// CHECK-LABEL: // closure #1 in testClosure()
7777
// CHECK: // Isolation: caller_isolation_inheriting
78-
// CHECK: sil private [ossa] @$s14attr_execution11testClosureyyFyyYaYCXEfU_ : $@convention(thin) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>) -> ()
78+
// CHECK: sil private [ossa] @$s14attr_execution11testClosureyyFyyYaYCXEfU_ : $@convention(thin) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor) -> ()
7979
func testClosure() {
8080
takesClosure {
8181
}
@@ -86,8 +86,8 @@ protocol P {
8686

8787
func open<T: P>(_: T) async {}
8888

89-
// CHECK-LABEL: sil hidden [ossa] @$s14attr_execution19testOpenExistential11existentialyAA1P_p_tYaF : $@convention(thin) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @in_guaranteed any P) -> ()
90-
// CHECK: bb0([[ISOLATION:%.*]] : @guaranteed $Optional<any Actor>, [[EXISTENTIAL:%.*]] : $*any P):
89+
// CHECK-LABEL: sil hidden [ossa] @$s14attr_execution19testOpenExistential11existentialyAA1P_p_tYaF : $@convention(thin) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor, @in_guaranteed any P) -> ()
90+
// CHECK: bb0([[ISOLATION:%.*]] : @guaranteed $Builtin.ImplicitIsolationActor, [[EXISTENTIAL:%.*]] : $*any P):
9191
// CHECK: [[OPEN_REF:%.*]] = function_ref @$s14attr_execution4openyyxYaAA1PRzlF
9292
// CHECK: apply [[OPEN_REF]]<@opened("{{.*}}", any P) Self>([[ISOLATION]], {{.*}})
9393
// CHECK: } // end sil function '$s14attr_execution19testOpenExistential11existentialyAA1P_p_tYaF'

test/Concurrency/attr_execution/classes_silgen.swift

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ class AllDefault : SuperKlass {
2626

2727
class AllConcurrent : SuperKlass {
2828
// CHECK-LABEL: vtable thunk for SuperKlass.callerTest() dispatching to AllConcurrent.callerTest()
29-
// CHECK-NEXT: sil private [thunk] [ossa] @$s21attr_execution_silgen13AllConcurrentC10callerTestyyYaFAA10SuperKlassCADyyYaFTV : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed AllConcurrent) -> () {
30-
// CHECK: bb0([[ACTOR:%.*]] : @guaranteed $Optional<any Actor>, [[PARAM:%.*]] : @guaranteed $AllConcurrent):
29+
// CHECK-NEXT: sil private [thunk] [ossa] @$s21attr_execution_silgen13AllConcurrentC10callerTestyyYaFAA10SuperKlassCADyyYaFTV : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor, @guaranteed AllConcurrent) -> () {
30+
// CHECK: bb0([[ACTOR:%.*]] : @guaranteed $Builtin.ImplicitIsolationActor, [[PARAM:%.*]] : @guaranteed $AllConcurrent):
3131
// CHECK: [[FUNC:%.*]] = function_ref @$s21attr_execution_silgen13AllConcurrentC10callerTestyyYaF : $@convention(method) @async (@guaranteed AllConcurrent) -> ()
3232
// CHECK: apply [[FUNC]]([[PARAM]])
3333
// CHECK: hop_to_executor [[ACTOR]]
@@ -44,9 +44,10 @@ class AllNonIsolatedUnsafe : SuperKlass {
4444
// CHECK-NEXT: sil private [thunk] [ossa] @$s21attr_execution_silgen20AllNonIsolatedUnsafeC14concurrentTestyyYaFAA10SuperKlassCADyyYaFTV : $@convention(method) @async (@guaranteed AllNonIsolatedUnsafe) -> () {
4545
// CHECK: bb0([[ARG:%.*]] : @guaranteed
4646
// CHECK: [[ACTOR:%.*]] = enum $Optional<any Actor>, #Optional.none!enumelt
47-
// CHECK: hop_to_executor [[ACTOR]]
48-
// CHECK: [[FUNC:%.*]] = function_ref @$s21attr_execution_silgen20AllNonIsolatedUnsafeC14concurrentTestyyYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed AllNonIsolatedUnsafe) -> ()
49-
// CHECK: apply [[FUNC]]([[ACTOR]], [[ARG]])
47+
// CHECK: [[ACTOR_CAST:%.*]] = unchecked_value_cast [[ACTOR]] to $Builtin.ImplicitIsolationActor
48+
// CHECK: hop_to_executor [[ACTOR_CAST]]
49+
// CHECK: [[FUNC:%.*]] = function_ref @$s21attr_execution_silgen20AllNonIsolatedUnsafeC14concurrentTestyyYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor, @guaranteed AllNonIsolatedUnsafe) -> ()
50+
// CHECK: apply [[FUNC]]([[ACTOR_CAST]], [[ARG]])
5051
// CHECK: } // end sil function '$s21attr_execution_silgen20AllNonIsolatedUnsafeC14concurrentTestyyYaFAA10SuperKlassCADyyYaFTV'
5152
override nonisolated(nonsending) func concurrentTest() async {}
5253

@@ -56,9 +57,11 @@ class AllNonIsolatedUnsafe : SuperKlass {
5657
// CHECK: [[ACTOR:%.*]] = apply {{%.*}}({{%.*}}) : $@convention(method) (@thick MainActor.Type) -> @owned MainActor
5758
// CHECK: [[ACTOR_E:%.*]] = init_existential_ref [[ACTOR]]
5859
// CHECK: [[ACTOR_E_OPT:%.*]] = enum $Optional<any Actor>, #Optional.some!enumelt, [[ACTOR_E]]
59-
// CHECK: hop_to_executor [[ACTOR_E_OPT]]
60-
// CHECK: [[FUNC:%.*]] = function_ref @$s21attr_execution_silgen20AllNonIsolatedUnsafeC13mainActorTestyyYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Optional<any Actor>, @guaranteed AllNonIsolatedUnsafe) -> ()
61-
// CHECK: apply [[FUNC]]([[ACTOR_E_OPT]], [[ARG]])
60+
// CHECK: [[ACTOR_E_OPT_B:%.*]] = begin_borrow [[ACTOR_E_OPT]]
61+
// CHECK: [[ACTOR_E_OPT_B_CAST:%.*]] = unchecked_value_cast [[ACTOR_E_OPT_B]] to $Builtin.ImplicitIsolationActor
62+
// CHECK: hop_to_executor [[ACTOR_E_OPT_B_CAST]]
63+
// CHECK: [[FUNC:%.*]] = function_ref @$s21attr_execution_silgen20AllNonIsolatedUnsafeC13mainActorTestyyYaF : $@convention(method) @async (@sil_isolated @sil_implicit_leading_param @guaranteed Builtin.ImplicitIsolationActor, @guaranteed AllNonIsolatedUnsafe) -> ()
64+
// CHECK: apply [[FUNC]]([[ACTOR_E_OPT_B_CAST]], [[ARG]])
6265
// CHECK: } // end sil function '$s21attr_execution_silgen20AllNonIsolatedUnsafeC13mainActorTestyyYaFAA10SuperKlassCADyyYaFTV'
6366
override nonisolated(nonsending) func mainActorTest() async {}
6467
}

0 commit comments

Comments
 (0)