Skip to content

Commit 8f46ff7

Browse files
committed
Change partial_apply_coro.sil to match the new LLVM patch
1 parent fba0135 commit 8f46ff7

File tree

1 file changed

+8
-20
lines changed

1 file changed

+8
-20
lines changed

test/IRGen/partial_apply_coro.sil

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ import Swift
1717
//
1818
// CHECK: define {{.*}} void @yield1.resume.0(ptr noalias noundef nonnull align 8 dereferenceable(32) %{{.*}}, i1 %[[UNWIND:.*]])
1919
// CHECK-NEXT: entryresume.0:
20-
// CHECK-NEXT: %[[NOUNWIND:.*]] = xor i1 %[[UNWIND]], true
21-
// CHECK-NEXT: call void @llvm.assume(i1 %[[NOUNWIND]])
2220
// CHECK-NEXT: ret void
2321
// CHECK-NEXT: }
2422
//
@@ -129,11 +127,10 @@ bb0(%0 : $Float):
129127
//
130128
// CHECK: define {{.*}} i64 @yield2.resume.0(ptr noalias noundef nonnull align 8 dereferenceable(32) %[[CTX:.*]], i1 %[[UNWIND:.*]])
131129
// CHECK-NEXT: entryresume.0:
132-
// CHECK-NEXT: %[[NOUNWIND]] = xor i1 %[[UNWIND]], true
133-
// CHECK-NEXT: call void @llvm.assume(i1 %[[NOUNWIND]])
134130
// CHECK-NEXT: %[[FRAME:.*]] = getelementptr inbounds %yield2.Frame, ptr %[[CTX]], i32 0, i32 0
135131
// CHECK-NEXT: %[[RET:.*]] = load i64, ptr %[[FRAME]], align 8
136-
// CHECK-NEXT: ret i64 %[[RET]]
132+
// CHECK-NEXT: %[[RET_SEL:.*]] = select i1 %[[UNWIND]], i64 undef, i64 %[[RET]]
133+
// CHECK-NEXT: ret i64 %[[RET_SEL]]
137134
// CHECK-NEXT: }
138135
//
139136
sil [ossa] @yield2 : $@yield_once(Int, Float) -> (Int, @yields Float) {
@@ -250,8 +247,6 @@ bb0(%0 : $Int, %1 : $Float):
250247
//
251248
// CHECK: define {{.*}} void @yieldgen1.resume.0(ptr noalias noundef nonnull align 8 dereferenceable(32) %{{.*}}, i1 %[[UNWIND:.*]])
252249
// CHECK: entryresume.0:
253-
// CHECK: %[[NOUNWIND:.*]] = xor i1 %[[UNWIND]], true
254-
// CHECK: call void @llvm.assume(i1 %[[NOUNWIND]])
255250
// CHECK: ret void
256251
// CHECK: }
257252
//
@@ -360,11 +355,10 @@ bb0(%0 : $Float):
360355
//
361356
// CHECK: define {{.*}} ptr @yieldgen2.resume.0(ptr noalias noundef nonnull align 8 dereferenceable(32) %[[CTX:.*]], i1 %[[UNWIND:.*]])
362357
// CHECK: entryresume.0:
363-
// CHECK: %[[NOUNWIND:.*]] = xor i1 %[[UNWIND]], true
364-
// CHECK: call void @llvm.assume(i1 %[[NOUNWIND]])
365358
// CHECK: %[[FRAME:.*]] = getelementptr inbounds %yieldgen2.Frame, ptr %[[CTX]], i32 0, i32 0
366359
// CHECK: %[[ARG0:.*]] = load ptr, ptr %[[FRAME]], align 8
367-
// CHECK: ret ptr %[[ARG0]]
360+
// CHECK: %[[RET_SEL:.*]] = select i1 %[[UNWIND]], ptr undef, ptr %[[ARG0]]
361+
// CHECK: ret ptr %[[RET_SEL]]
368362
// CHECK: }
369363
//
370364
sil @yieldgen2 : $@yield_once @convention(thin) <T : F> (T) -> (@yields T, T) {
@@ -474,8 +468,6 @@ sil @$s13partial_apply10SwiftClassCfD : $@convention(method) (SwiftClass) -> ()
474468
//
475469
// CHECK: define {{.*}} void @partially_applyable_to_class.resume.0(ptr noalias noundef nonnull align 8 dereferenceable(32) %{{.*}}, i1 %[[UNWIND:.*]])
476470
// CHECK: entryresume.0:
477-
// CHECK: %[[NOUNWIND:.*]] = xor i1 %[[UNWIND]], true
478-
// CHECK: call void @llvm.assume(i1 %[[NOUNWIND]])
479471
// CHECK: ret void
480472
// CHECK: }
481473
//
@@ -617,11 +609,10 @@ entry(%a : $SwiftClass):
617609
//
618610
// CHECK: define {{.*}} ptr @partially_applyable_to_two_classes.resume.0(ptr noalias noundef nonnull align 8 dereferenceable(32) %[[CTX:.*]], i1 %[[UNWIND:.*]])
619611
// CHECK: entryresume.0:
620-
// CHECK: %[[NOUNWIND:.*]] = xor i1 %[[UNWIND]], true
621-
// CHECK: call void @llvm.assume(i1 %[[NOUNWIND]])
622612
// CHECK: %[[FRAME:.*]] = getelementptr inbounds %partially_applyable_to_two_classes.Frame, ptr %[[CTX]], i32 0, i32 0
623613
// CHECK: %[[ARG:.*]] = load ptr, ptr %[[FRAME]], align 8
624-
// CHECK: ret ptr %[[ARG]]
614+
// CHECK: %[[RET_SEL:.*]] = select i1 %[[UNWIND]], ptr undef, ptr %[[ARG]]
615+
// CHECK: ret ptr %[[RET_SEL]]
625616
// CHECK: }
626617
//
627618
sil @partially_applyable_to_two_classes : $@convention(thin) @yield_once (@guaranteed SwiftClass, @guaranteed SwiftClass) -> (@yields SwiftClass, SwiftClass) {
@@ -714,8 +705,6 @@ entry(%a : $SwiftClass, %b: $SwiftClass):
714705
//
715706
// CHECK: define {{.*}} void @generic_captured_param.resume.0(ptr noalias noundef nonnull align 8 dereferenceable(32) %[[CTX:.*]], i1 %[[UNWIND:.*]])
716707
// CHECK: entryresume.0:
717-
// CHECK: %[[NOUNWIND:.*]] = xor i1 %[[UNWIND]], true
718-
// CHECK: call void @llvm.assume(i1 %[[NOUNWIND]])
719708
// CHECK: ret void
720709
// CHECK: }
721710
//
@@ -1411,11 +1400,10 @@ sil public_external @receive_closure2 : $@yield_once @convention(thin) <C where
14111400
//
14121401
// CHECK: define {{.*}} ptr @parametric_casting_closure.resume.0(ptr noalias noundef nonnull align 8 dereferenceable(32) %[[CTX:.*]], i1 %[[UNWIND:.*]])
14131402
// CHECK: entryresume.0:
1414-
// CHECK: %[[NOUNWIND:.*]] = xor i1 %[[UNWIND]], true
1415-
// CHECK: call void @llvm.assume(i1 %[[NOUNWIND]])
14161403
// CHECK: %[[FRAME:.*]] = getelementptr inbounds %parametric_casting_closure.Frame, ptr %[[CTX]], i32 0, i32 0
14171404
// CHECK: %[[RET:.*]] = load ptr, ptr %[[FRAME]], align 8
1418-
// CHECK: ret ptr %[[RET]]
1405+
// CHECK: %[[RET_SEL:.*]] = select i1 %[[UNWIND]], ptr undef, ptr %[[RET]]
1406+
// CHECK: ret ptr %[[RET_SEL]]
14191407
// CHECK: }
14201408
//
14211409
sil @parametric_casting_closure : $@yield_once @convention(thin) <C where C : Base> (@guaranteed Base) -> (@owned C, @yields C) {

0 commit comments

Comments
 (0)