@@ -129,7 +129,7 @@ bb0(%0 : $X, %1 : $*Int32):
129
129
// CHECK-NEXT: [%0: read v**]
130
130
// CHECK-NEXT: [%1: write v**]
131
131
// CHECK-NEXT: [%2: write c0.v**, destroy c*.v**]
132
- // CHECK-NEXT: [global: read,write,copy,destroy,allocate]
132
+ // CHECK-NEXT: [global: read,write,copy,destroy,allocate,deinit_barrier ]
133
133
// CHECK-NEXT: {{^[^[]}}
134
134
sil @partial_apply_load_store_to_args : $@convention(thin) (@inout Int32, @inout Int32, @guaranteed X) -> () {
135
135
bb0(%0 : $*Int32, %1 : $*Int32, %2 : $X):
@@ -220,7 +220,7 @@ bb0(%0 : $X):
220
220
}
221
221
222
222
// CHECK-LABEL: sil @call_unknown
223
- // CHECK-NEXT: [global: read,write,copy,destroy,allocate]
223
+ // CHECK-NEXT: [global: read,write,copy,destroy,allocate,deinit_barrier ]
224
224
// CHECK-NEXT: {{^[^[]}}
225
225
sil @call_unknown : $@convention(thin) () -> () {
226
226
bb0:
233
233
234
234
// CHECK-LABEL: sil @call_unknown_func_with_trivial_args
235
235
// CHECK-NEXT: [%0: read v**]
236
- // CHECK-NEXT: [global: read,write,copy,destroy,allocate]
236
+ // CHECK-NEXT: [global: read,write,copy,destroy,allocate,deinit_barrier ]
237
237
// CHECK-NEXT: {{^[^[]}}
238
238
sil @call_unknown_func_with_trivial_args : $@convention(thin) (@in Int32, Int32) -> () {
239
239
bb0(%0 : $*Int32, %1 : $Int32):
@@ -293,7 +293,7 @@ bb0(%0 : $Builtin.NativeObject):
293
293
sil @checkedaddr : $@convention(thin) (Builtin.NativeObject, X) -> () {
294
294
// CHECK-NEXT: [%0: read v**.c*.v**, write v**.c*.v**, copy v**.c*.v**, destroy v**.c*.v**]
295
295
// CHECK-NEXT: [%1: read c*.v**, write c*.v**, copy c*.v**, destroy c*.v**]
296
- // CHECK-NEXT: [global: read,write,copy,destroy,allocate]
296
+ // CHECK-NEXT: [global: read,write,copy,destroy,allocate,deinit_barrier ]
297
297
// CHECK-NEXT: {{^[^[]}}
298
298
bb0(%0 : $Builtin.NativeObject, %1 : $X):
299
299
unconditional_checked_cast_addr Builtin.NativeObject in %0 : $Builtin.NativeObject to X in %1 : $X
@@ -450,7 +450,7 @@ bb0(%0 : $*X, %1 : @owned $X):
450
450
// CHECK-LABEL: sil [ossa] @unknown_destructor_effects
451
451
// CHECK-NEXT: [%0: write v**, destroy v**]
452
452
// CHECK-NEXT: [%1: read c*.v**, write c*.v**, copy c*.v**, destroy c*.v**]
453
- // CHECK-NEXT: [global: read,write,copy,destroy,allocate]
453
+ // CHECK-NEXT: [global: read,write,copy,destroy,allocate,deinit_barrier ]
454
454
// CHECK-NEXT: {{^[^[]}}
455
455
sil [ossa] @unknown_destructor_effects : $@convention(thin) (@inout Y, @owned Y) -> () {
456
456
bb0(%0 : $*Y, %1 : @owned $Y):
@@ -496,7 +496,7 @@ bb0(%0 : $*X, %1 : $*X):
496
496
497
497
// CHECK-LABEL: sil [ossa] @destroy_value_effects1
498
498
// CHECK-NEXT: [%0: destroy v**.c*.v**]
499
- // CHECK-NEXT: [global: read,write,copy,destroy,allocate]
499
+ // CHECK-NEXT: [global: read,write,copy,destroy,allocate,deinit_barrier ]
500
500
// CHECK-NEXT: {{^[^[]}}
501
501
sil [ossa] @destroy_value_effects1 : $@convention(thin) (@owned SP) -> () {
502
502
bb0(%0 : @owned $SP):
@@ -628,7 +628,7 @@ bb0(%0 : $*X):
628
628
629
629
// CHECK-LABEL: sil [ossa] @pass_arg_to_unknown_function
630
630
// CHECK-NEXT: [%0: read s1.v**, write s1.v**, copy s1.v**, destroy s1.v**]
631
- // CHECK-NEXT: [global: read,write,copy,destroy,allocate]
631
+ // CHECK-NEXT: [global: read,write,copy,destroy,allocate,deinit_barrier ]
632
632
// CHECK-NEXT: {{^[^[]}}
633
633
sil [ossa] @pass_arg_to_unknown_function : $@convention(thin) (@inout TwoSPs) -> () {
634
634
bb0(%0 : $*TwoSPs):
@@ -641,7 +641,7 @@ bb0(%0 : $*TwoSPs):
641
641
642
642
// CHECK-LABEL: sil [ossa] @copy_addr_and_consume_by_unknown_func
643
643
// CHECK-NEXT: [%0: read v**, copy v**, destroy v**]
644
- // CHECK-NEXT: [global: read,write,copy,destroy,allocate]
644
+ // CHECK-NEXT: [global: read,write,copy,destroy,allocate,deinit_barrier ]
645
645
// CHECK-NEXT: {{^[^[]}}
646
646
sil [ossa] @copy_addr_and_consume_by_unknown_func : $@convention(thin) (@in X) -> () {
647
647
bb0(%0 : $*X):
672
672
}
673
673
674
674
// CHECK-LABEL: sil @call_readnone
675
- // CHECK-NEXT: [global: copy]
675
+ // CHECK-NEXT: [global: copy,deinit_barrier ]
676
676
// CHECK-NEXT: {{^[^[]}}
677
677
sil @call_readnone : $@convention(thin) () -> () {
678
678
bb0:
683
683
}
684
684
685
685
// CHECK-LABEL: sil @call_releasenone
686
- // CHECK-NEXT: [global: read,write,copy,allocate]
686
+ // CHECK-NEXT: [global: read,write,copy,allocate,deinit_barrier ]
687
687
// CHECK-NEXT: {{^[^[]}}
688
688
sil @call_releasenone : $@convention(thin) () -> () {
689
689
bb0:
696
696
697
697
// CHECK-LABEL: sil @call_readonly_owned
698
698
// CHECK-NEXT: [%0: read c*.v**, copy c*.v**]
699
- // CHECK-NEXT: [global: read,copy]
699
+ // CHECK-NEXT: [global: read,copy,deinit_barrier ]
700
700
// CHECK-NEXT: {{^[^[]}}
701
701
sil @call_readonly_owned : $@convention(thin) (@owned X) -> () {
702
702
bb0(%0 : $X):
@@ -708,7 +708,7 @@ bb0(%0 : $X):
708
708
709
709
// CHECK-LABEL: sil [ossa] @call_readnone_owned
710
710
// CHECK-NEXT: [%0: copy c*.v**]
711
- // CHECK-NEXT: [global: copy]
711
+ // CHECK-NEXT: [global: copy,deinit_barrier ]
712
712
// CHECK-NEXT: {{^[^[]}}
713
713
sil [ossa] @call_readnone_owned : $@convention(thin) (@owned X) -> @owned X {
714
714
bb0(%0 : @owned $X):
@@ -719,7 +719,7 @@ bb0(%0 : @owned $X):
719
719
720
720
// CHECK-LABEL: sil @call_readonly_guaranteed
721
721
// CHECK-NEXT: [%0: read c*.v**, copy c*.v**]
722
- // CHECK-NEXT: [global: read,copy]
722
+ // CHECK-NEXT: [global: read,copy,deinit_barrier ]
723
723
// CHECK-NEXT: {{^[^[]}}
724
724
sil @call_readonly_guaranteed : $@convention(thin) (@guaranteed X) -> () {
725
725
bb0(%0 : $X):
@@ -733,7 +733,7 @@ bb0(%0 : $X):
733
733
// CHECK-NEXT: [%0: write v**]
734
734
// CHECK-NEXT: [%1: read v**, copy v**]
735
735
// CHECK-NEXT: [%2: read v**, copy v**]
736
- // CHECK-NEXT: [global: read,copy]
736
+ // CHECK-NEXT: [global: read,copy,deinit_barrier ]
737
737
// CHECK-NEXT: {{^[^[]}}
738
738
sil @call_readonly_indirect_params : $@convention(thin) (@in_guaranteed X, @inout X) -> @out X {
739
739
bb0(%0 : $*X, %1 : $*X, %2 : $*X):
@@ -747,7 +747,7 @@ bb0(%0 : $*X, %1 : $*X, %2 : $*X):
747
747
// CHECK-NEXT: [%0: write v**]
748
748
// CHECK-NEXT: [%1: read v**, copy v**]
749
749
// CHECK-NEXT: [%2: read v**, copy v**]
750
- // CHECK-NEXT: [global: read,copy]
750
+ // CHECK-NEXT: [global: read,copy,deinit_barrier ]
751
751
// CHECK-NEXT: {{^[^[]}}
752
752
sil @call_readnone_indirect_params : $@convention(thin) (@in_guaranteed X, @inout X) -> @out X {
753
753
bb0(%0 : $*X, %1 : $*X, %2 : $*X):
@@ -759,7 +759,7 @@ bb0(%0 : $*X, %1 : $*X, %2 : $*X):
759
759
760
760
// CHECK-LABEL: sil @call_unknown_func_with_in_guaranteed_arg
761
761
// CHECK-NEXT: [%0: read v**, copy v**]
762
- // CHECK-NEXT: [global: read,write,copy,destroy,allocate]
762
+ // CHECK-NEXT: [global: read,write,copy,destroy,allocate,deinit_barrier ]
763
763
// CHECK-NEXT: {{^[^[]}}
764
764
sil @call_unknown_func_with_in_guaranteed_arg : $@convention(thin) (@in_guaranteed X) -> () {
765
765
bb0(%0 : $*X):
@@ -771,7 +771,7 @@ bb0(%0 : $*X):
771
771
772
772
// CHECK-LABEL: sil @test_escaping_in_argument
773
773
// CHECK-NEXT: [%0: read v**, copy v**]
774
- // CHECK-NEXT: [global: read,write,copy,destroy,allocate]
774
+ // CHECK-NEXT: [global: read,write,copy,destroy,allocate,deinit_barrier ]
775
775
// CHECK-NEXT: {{^[^[]}}
776
776
sil @test_escaping_in_argument : $@convention(thin) (@in_guaranteed X) -> () {
777
777
bb0(%0 : $*X):
859
859
}
860
860
861
861
// CHECK-LABEL: sil @call_public_external_func
862
- // CHECK-NEXT: [global: read,write,copy,destroy,allocate]
862
+ // CHECK-NEXT: [global: read,write,copy,destroy,allocate,deinit_barrier ]
863
863
// CHECK-NEXT: {{^[^[]}}
864
864
sil @call_public_external_func : $@convention(thin) () -> () {
865
865
bb0:
969
969
970
970
// CHECK-LABEL: sil @storeMaybeLocalPhi
971
971
// CHECK-NEXT: [%0: read c*.v**, write c*.v**, copy **, destroy c*.v**]
972
- // CHECK-NEXT: [global: read,write,copy,destroy,allocate]
972
+ // CHECK-NEXT: [global: read,write,copy,destroy,allocate,deinit_barrier ]
973
973
// CHECK-NEXT: {{^[^[]}}
974
974
sil @storeMaybeLocalPhi : $@convention(thin) (@guaranteed List) -> () {
975
975
bb0(%1 : $List):
@@ -1069,3 +1069,13 @@ bb0(%0 : @guaranteed ${ var Int32 }):
1069
1069
end_access %5 : $*Int32
1070
1070
return %6 : $Int32
1071
1071
}
1072
+
1073
+ // CHECK-LABEL: sil [ossa] @callUnknownIsDeinitBarrier : {{.*}} {
1074
+ // CHECK-NEXT: [global: {{.*}}deinit_barrier]
1075
+ // CHECK-LABEL: } // end sil function 'callUnknownIsDeinitBarrier'
1076
+ sil [ossa] @callUnknownIsDeinitBarrier : $@convention(thin) () -> () {
1077
+ %callee = function_ref @unknown_func : $@convention(thin) () -> ()
1078
+ apply %callee() : $@convention(thin) () -> ()
1079
+ %retval = tuple ()
1080
+ return %retval : $()
1081
+ }
0 commit comments