@@ -136,7 +136,7 @@ struct SingleFieldLvl3 {
136
136
137
137
/// This checks the case where we have a single level hierarchy and the root is
138
138
/// dead.
139
- // CHECK-LABEL: sil [serialized] [thunk ] [always_inline] @single_level_dead_root_callee : $@convention(thin) (S1) -> Builtin.Int32 {
139
+ // CHECK-LABEL: sil [serialized] [signature_optimized_thunk ] [always_inline] @single_level_dead_root_callee : $@convention(thin) (S1) -> Builtin.Int32 {
140
140
// CHECK: bb0([[INPUT:%[0-9]+]] : $S1):
141
141
// CHECK: [[FN:%[0-9]+]] = function_ref @$S29single_level_dead_root_calleeTfq4x_n : $@convention(thin) (Builtin.Int32) -> Builtin.Int32
142
142
// CHECK: [[ARG:%.*]] = struct_extract [[INPUT]] : $S1, #S1.f2
@@ -182,7 +182,7 @@ bb0(%0 : $S1):
182
182
return %9999 : $()
183
183
}
184
184
185
- // CHECK-LABEL: sil [serialized] [thunk ] [always_inline] @single_level_live_root_callee : $@convention(thin) (S1) -> Builtin.Int32 {
185
+ // CHECK-LABEL: sil [serialized] [signature_optimized_thunk ] [always_inline] @single_level_live_root_callee : $@convention(thin) (S1) -> Builtin.Int32 {
186
186
// CHECK: bb0([[INPUT:%[0-9]+]] : $S1):
187
187
// CHECK: [[FN:%[0-9]+]] = function_ref @$S29single_level_live_root_calleeTfq4x_n : $@convention(thin) (Builtin.Int16, Builtin.Int32) -> Builtin.Int32
188
188
// CHECK: [[ARG2:%.*]] = struct_extract [[INPUT]] : $S1, #S1.f2
@@ -234,7 +234,7 @@ bb0(%0 : $S1):
234
234
// This test checks where we have a multiple level hierarchy, the root is dead,
235
235
// but the root has all fields used. This means that we should extract
236
236
// everything, but we should not "reform" the aggregate.
237
- // CHECK-LABEL: sil [serialized] [thunk ] [always_inline] @multiple_level_all_root_fields_used_callee : $@convention(thin) (S2) -> (Builtin.Int16, Builtin.Int64) {
237
+ // CHECK-LABEL: sil [serialized] [signature_optimized_thunk ] [always_inline] @multiple_level_all_root_fields_used_callee : $@convention(thin) (S2) -> (Builtin.Int16, Builtin.Int64) {
238
238
// CHECK: bb0([[INPUT:%.*]] : $S2):
239
239
// CHECK: [[FN:%.*]] = function_ref @$S42multiple_level_all_root_fields_used_calleeTfq4x_n : $@convention(thin) (Builtin.Int16, Builtin.Int64) -> (Builtin.Int16, Builtin.Int64)
240
240
// CHECK: [[EXT1:%.*]] = struct_extract [[INPUT]] : $S2, #S2.f2
@@ -292,7 +292,7 @@ bb0(%0 : $S2):
292
292
}
293
293
294
294
/// This test checks a multiple level hierarchy where the root has no fields used.
295
- // CHECK-LABEL: sil [serialized] [thunk ] [always_inline] @multiple_level_no_root_fields_have_direct_uses_callee : $@convention(thin) (S3) -> (Builtin.Int16, Builtin.Int64) {
295
+ // CHECK-LABEL: sil [serialized] [signature_optimized_thunk ] [always_inline] @multiple_level_no_root_fields_have_direct_uses_callee : $@convention(thin) (S3) -> (Builtin.Int16, Builtin.Int64) {
296
296
// CHECK: bb0([[IN:%.*]] : $S3):
297
297
// CHECK: [[FN:%.*]] = function_ref @$S53multiple_level_no_root_fields_have_direct_uses_calleeTfq4x_n : $@convention(thin) (Builtin.Int16, Builtin.Int64) -> (Builtin.Int16, Builtin.Int64)
298
298
// CHECK: [[EXT1:%.*]] = struct_extract [[IN]] : $S3, #S3.f2
@@ -355,7 +355,7 @@ bb0(%0 : $S3):
355
355
356
356
// This test checks a multiple level hierarchy where the root has its own use
357
357
// and needs to be reformed via a struct.
358
- // CHECK-LABEL: sil [serialized] [thunk ] [always_inline] @multiple_level_root_must_be_reformed_callee : $@convention(thin) (S2) -> (Builtin.Int16, Builtin.Int64) {
358
+ // CHECK-LABEL: sil [serialized] [signature_optimized_thunk ] [always_inline] @multiple_level_root_must_be_reformed_callee : $@convention(thin) (S2) -> (Builtin.Int16, Builtin.Int64) {
359
359
// CHECK: bb0([[IN:%.*]] : $S2):
360
360
// CHECK: [[FN:%.*]] = function_ref @$S43multiple_level_root_must_be_reformed_calleeTfq4x_n : $@convention(thin) (Builtin.Int16, Builtin.Int32, Builtin.Int64) -> (Builtin.Int16, Builtin.Int64)
361
361
// CHECK: [[EXT1:%.*]] = struct_extract [[IN]] : $S2, #S2.f2
@@ -439,7 +439,7 @@ bb0(%0 : $S2):
439
439
}
440
440
441
441
// This test checks if we can handle @owned structs correctly
442
- // CHECK-LABEL: sil [serialized] [thunk ] [always_inline] @owned_struct_1_callee : $@convention(thin) (@owned S5, @owned S5) -> (Builtin.Int16, Builtin.Int32, Builtin.Int16, Builtin.Int32) {
442
+ // CHECK-LABEL: sil [serialized] [signature_optimized_thunk ] [always_inline] @owned_struct_1_callee : $@convention(thin) (@owned S5, @owned S5) -> (Builtin.Int16, Builtin.Int32, Builtin.Int16, Builtin.Int32) {
443
443
// CHECK: bb0([[IN1:%.*]] : $S5, [[IN2:%.*]] : $S5):
444
444
// CHECK: [[FN:%.*]] = function_ref @$S21owned_struct_1_calleeTfq4dgX_n : $@convention(thin) (@guaranteed S4, Builtin.Int16, Builtin.Int32) -> (Builtin.Int16, Builtin.Int32, Builtin.Int16, Builtin.Int32)
445
445
// CHECK: [[EXT1:%.*]] = struct_extract [[IN2]] : $S5, #S5.f2
@@ -505,7 +505,7 @@ bb0(%0 : $S5):
505
505
}
506
506
507
507
// This test checks if we can properly insert arguments in between dead arguments.
508
- // CHECK-LABEL: sil [serialized] [thunk ] [always_inline] @owned_struct_2_callee : $@convention(thin) (Builtin.Int256, Builtin.Int256, @owned S5, Builtin.Int128, Builtin.Int128) -> (Builtin.Int256, Builtin.Int16, Builtin.Int32, Builtin.Int128) {
508
+ // CHECK-LABEL: sil [serialized] [signature_optimized_thunk ] [always_inline] @owned_struct_2_callee : $@convention(thin) (Builtin.Int256, Builtin.Int256, @owned S5, Builtin.Int128, Builtin.Int128) -> (Builtin.Int256, Builtin.Int16, Builtin.Int32, Builtin.Int128) {
509
509
// CHECK: bb0([[IN1:%.*]] : $Builtin.Int256, [[IN2:%.*]] : $Builtin.Int256, [[IN3:%.*]] : $S5, [[IN4:%.*]] : $Builtin.Int128, [[IN5:%.*]] : $Builtin.Int128):
510
510
// CHECK: [[FN:%.*]] = function_ref @$S21owned_struct_2_calleeTfq4ndgXdn_n : $@convention(thin) (Builtin.Int256, @guaranteed S4, Builtin.Int16, Builtin.Int32, Builtin.Int128) -> (Builtin.Int256, Builtin.Int16, Builtin.Int32, Builtin.Int128)
511
511
// CHECK: [[EXT1:%.*]] = struct_extract [[IN3]] : $S5, #S5.f2
@@ -567,7 +567,7 @@ bb0(%0 : $Builtin.Int256, %1 : $S5, %2 : $Builtin.Int128):
567
567
}
568
568
569
569
/// This test makes sure that we ignore pointer arguments for now.
570
- // CHECK-LABEL: sil [serialized] [thunk ] [always_inline] @ignore_ptrs_callee : $@convention(thin) (@in S1, S1, S1) -> (Builtin.Int16, Builtin.Int16) {
570
+ // CHECK-LABEL: sil [serialized] [signature_optimized_thunk ] [always_inline] @ignore_ptrs_callee : $@convention(thin) (@in S1, S1, S1) -> (Builtin.Int16, Builtin.Int16) {
571
571
// CHECK: bb0([[IN1:%.*]] : $*S1, [[IN2:%.*]] : $S1, [[IN3:%.*]] : $S1):
572
572
// CHECK: [[FN:%.*]] = function_ref @$S18ignore_ptrs_calleeTfq4nxx_n : $@convention(thin) (@in S1, Builtin.Int16, Builtin.Int16) -> (Builtin.Int16, Builtin.Int16)
573
573
// CHECK: [[EXT1:%.*]] = struct_extract [[IN2]] : $S1, #S1.f1
@@ -677,7 +677,7 @@ bb0(%0 : $FakeStaticString, %1 : $FakeString, %2 : $FakeStaticString):
677
677
// This test makes sure that we handle cases where the callee has field uses
678
678
// that are processed in a different order than the fields are layed out in the
679
679
// structure.
680
- // CHECK-LABEL: sil [serialized] [thunk ] [always_inline] @check_out_of_order_uses_callee : $@convention(thin) (S1) -> () {
680
+ // CHECK-LABEL: sil [serialized] [signature_optimized_thunk ] [always_inline] @check_out_of_order_uses_callee : $@convention(thin) (S1) -> () {
681
681
// CHECK: bb0([[IN:%.*]] : $S1):
682
682
// CHECK: [[FN:%.*]] = function_ref @$S30check_out_of_order_uses_calleeTfq4x_n : $@convention(thin) (Builtin.Int16, Builtin.Int32) -> ()
683
683
// CHECK: [[EXT1:%.*]] = struct_extract [[IN]] : $S1, #S1.f2
@@ -735,7 +735,7 @@ bb0(%0 : $S1):
735
735
}
736
736
737
737
// Make sure that we do not SROA classes.
738
- // CHECK-LABEL: sil [serialized] [thunk ] [always_inline] @class_callee_1 : $@convention(thin) (@owned C1, Builtin.Int32) -> Builtin.Int32 {
738
+ // CHECK-LABEL: sil [serialized] [signature_optimized_thunk ] [always_inline] @class_callee_1 : $@convention(thin) (@owned C1, Builtin.Int32) -> Builtin.Int32 {
739
739
// CHECK: bb0([[IN1:%.*]] : $C1, [[IN2:%.*]] : $Builtin.Int32):
740
740
// CHECK: [[FN:%.*]] = function_ref @$S14class_callee_1Tfq4gn_n : $@convention(thin) (@guaranteed C1, Builtin.Int32) -> Builtin.Int32
741
741
// CHECK: apply [[FN]]([[IN1]], [[IN2]]) : $@convention(thin) (@guaranteed C1, Builtin.Int32) -> Builtin.Int32
@@ -774,7 +774,7 @@ bb0(%0 : $C1, %1 : $Builtin.Int32):
774
774
return %1 : $Builtin.Int32
775
775
}
776
776
777
- // CHECK-LABEL: sil [serialized] [thunk ] [always_inline] @class_caller_1 : $@convention(thin) (@owned C1, Builtin.Int32) -> Builtin.Int32 {
777
+ // CHECK-LABEL: sil [serialized] [signature_optimized_thunk ] [always_inline] @class_caller_1 : $@convention(thin) (@owned C1, Builtin.Int32) -> Builtin.Int32 {
778
778
// CHECK: bb0([[IN1:%.*]] : $C1, [[IN2:%.*]] : $Builtin.Int32):
779
779
// CHECK: [[FN:%.*]] = function_ref @$S14class_callee_1Tfq4gn_n : $@convention(thin) (@guaranteed C1, Builtin.Int32) -> Builtin.Int32
780
780
// CHECK: apply [[FN]]([[IN1]], [[IN2]]) : $@convention(thin) (@guaranteed C1, Builtin.Int32) -> Builtin.Int32
@@ -856,7 +856,7 @@ bb0(%0 : $ThirtySixFieldStruct):
856
856
return %9999 : $()
857
857
}
858
858
859
- // CHECK-LABEL: sil [serialized] [thunk ] [always_inline] @more_than_32_type_sized_callee : $@convention(thin) (ThirtySixFieldStruct) -> Builtin.Int32 {
859
+ // CHECK-LABEL: sil [serialized] [signature_optimized_thunk ] [always_inline] @more_than_32_type_sized_callee : $@convention(thin) (ThirtySixFieldStruct) -> Builtin.Int32 {
860
860
sil [serialized] @more_than_32_type_sized_callee : $@convention(thin) (ThirtySixFieldStruct) -> Builtin.Int32 {
861
861
bb0(%0 : $ThirtySixFieldStruct):
862
862
// make it a non-trivial function
0 commit comments