@@ -5091,10 +5091,10 @@ bb0(%0 : @guaranteed $Function):
5091
5091
5092
5092
sil [reabstraction_thunk] @thunk : $@convention(thin) (@guaranteed Klass, @guaranteed Klass) -> ()
5093
5093
5094
- // CHECK-LABEL: sil [ossa] @test_partial_apply_apply_opt :
5094
+ // CHECK-LABEL: sil [ossa] @test_partial_apply_apply_opt1 :
5095
5095
// CHECK-NOT: partial_apply
5096
- // CHECK: } // end sil function 'test_partial_apply_apply_opt '
5097
- sil [ossa] @test_partial_apply_apply_opt : $@convention(thin) (@guaranteed Klass, @guaranteed Klass) -> () {
5096
+ // CHECK: } // end sil function 'test_partial_apply_apply_opt1 '
5097
+ sil [ossa] @test_partial_apply_apply_opt1 : $@convention(thin) (@guaranteed Klass, @guaranteed Klass) -> () {
5098
5098
bb0(%0 : @guaranteed $Klass, %1 : @guaranteed $Klass):
5099
5099
%c1 = copy_value %0 : $Klass
5100
5100
%c2 = copy_value %1 : $Klass
@@ -5106,3 +5106,20 @@ bb0(%0 : @guaranteed $Klass, %1 : @guaranteed $Klass):
5106
5106
return %7 : $()
5107
5107
}
5108
5108
5109
+ // CHECK-LABEL: sil [ossa] @test_partial_apply_apply_opt2 :
5110
+ // CHECK-NOT: partial_apply
5111
+ // CHECK: } // end sil function 'test_partial_apply_apply_opt2'
5112
+ sil [ossa] @test_partial_apply_apply_opt2 : $@convention(thin) (@owned Klass, @owned Klass) -> () {
5113
+ bb0(%0 : @owned $Klass, %1 : @owned $Klass):
5114
+ %c1 = copy_value %0 : $Klass
5115
+ %c2 = copy_value %1 : $Klass
5116
+ %f1 = function_ref @thunk : $@convention(thin) (@guaranteed Klass, @guaranteed Klass) -> ()
5117
+ %p1 = partial_apply [callee_guaranteed] %f1(%c1, %c2) : $@convention(thin) (@guaranteed Klass, @guaranteed Klass) -> ()
5118
+ %r = apply %p1() : $@callee_guaranteed () -> ()
5119
+ destroy_value %p1 : $@callee_guaranteed () -> ()
5120
+ destroy_value %0 : $Klass
5121
+ destroy_value %1 : $Klass
5122
+ %7 = tuple ()
5123
+ return %7 : $()
5124
+ }
5125
+
0 commit comments