You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Print the requirements that are in the `@_specialize` signature but aren’t
part of the enclosing context, matching the previous form but after
semantic analysis.
// CHECK: copy_addr %2 to [initialization] %0 : $*τ_0_0
365
-
// CHECK: destroy_addr %1 : $*τ_0_0
362
+
// CHECK-LABEL: sil shared [noinline] @$s16eager_specialize18copyValueAndReturn_1sxx_xztlFxxxRlze31_lIetilr_Tp5 : $@convention(thin) <S where S : _Trivial(32)> (@in S, @inout S) -> @out S
363
+
// CHECK: bb0(%0 : $*S, %1 : $*S, %2 : $*S):
364
+
// CHECK: copy_addr %2 to [initialization] %0 : $*S
365
+
// CHECK: destroy_addr %1 : $*S
366
366
// CHECK: %5 = tuple ()
367
367
// CHECK: return %5 : $()
368
368
// CHECK: } // end sil function '$s16eager_specialize18copyValueAndReturn_1sxx_xztlFxxxRlze31_lIetilr_Tp5'
369
369
370
370
// Check specialized for 64 bits
371
371
// specialized copyValueAndReturn<A>(A, s : inout A) -> A
372
-
// CHECK-LABEL: sil shared [noinline] @$s16eager_specialize18copyValueAndReturn_1sxx_xztlFxxxRlze63_lIetilr_Tp5 : $@convention(thin) <τ_0_0 where τ_0_0 : _Trivial(64)> (@in τ_0_0, @inout τ_0_0) -> @out τ_0_0
// CHECK: copy_addr %2 to [initialization] %0 : $*τ_0_0
375
-
// CHECK: destroy_addr %1 : $*τ_0_0
372
+
// CHECK-LABEL: sil shared [noinline] @$s16eager_specialize18copyValueAndReturn_1sxx_xztlFxxxRlze63_lIetilr_Tp5 : $@convention(thin) <S where S : _Trivial(64)> (@in S, @inout S) -> @out S
373
+
// CHECK: bb0(%0 : $*S, %1 : $*S, %2 : $*S):
374
+
// CHECK: copy_addr %2 to [initialization] %0 : $*S
375
+
// CHECK: destroy_addr %1 : $*S
376
376
// CHECK: %5 = tuple ()
377
377
// CHECK: return %5 : $()
378
378
// CHECK: } // end sil function '$s16eager_specialize18copyValueAndReturn_1sxx_xztlFxxxRlze63_lIetilr_Tp5'
// CHECK: copy_addr %2 to [initialization] %0 : $*τ_0_0
461
-
// CHECK: destroy_addr %1 : $*τ_0_0
458
+
// CHECK-LABEL: sil shared [noinline] @$s16eager_specialize19copyValueAndReturn2_1sxx_xztlFxxxRlzTlIetilr_Tp5 : $@convention(thin) <S where S : _Trivial> (@in S, @inout S) -> @out S
459
+
// CHECK: bb0(%0 : $*S, %1 : $*S, %2 : $*S):
460
+
// CHECK: copy_addr %2 to [initialization] %0 : $*S
461
+
// CHECK: destroy_addr %1 : $*S
462
462
// CHECK: %5 = tuple ()
463
463
// CHECK: return %5 : $()
464
464
// CHECK: } // end sil function '$s16eager_specialize19copyValueAndReturn2_1sxx_xztlFxxxRlzTlIetilr_Tp5'
// CHECK: copy_addr %2 to [initialization] %0 : $*τ_0_0
516
-
// CHECK: destroy_addr %1 : $*τ_0_0
513
+
// CHECK-LABEL: sil shared [noinline] @$s16eager_specialize19copyValueAndReturn3_1sxx_xztlFxxxRlzRlIetilr_Tp5 : $@convention(thin) <S where S : _RefCountedObject> (@in S, @inout S) -> @out S
514
+
// CHECK: bb0(%0 : $*S, %1 : $*S, %2 : $*S):
515
+
// CHECK: copy_addr %2 to [initialization] %0 : $*S
516
+
// CHECK: destroy_addr %1 : $*S
517
517
// CHECK: %5 = tuple ()
518
518
// CHECK: return %5 : $()
519
519
// CHECK: } // end sil function '$s16eager_specialize19copyValueAndReturn3_1sxx_xztlFxxxRlzRlIetilr_Tp5'
@@ -599,11 +599,11 @@ bb0(%0 : $*T, %1 : $*S):
599
599
600
600
// Check for specialized function for τ_0_0 == Int64
601
601
// specialized checkExplicitPartialSpecialization<A, B> (A, B) -> ()
602
-
// CHECK-LABEL: sil shared @$s16eager_specialize34checkExplicitPartialSpecializationyyx_q_tr0_lFs5Int64Vq_ADRszr0_lIetyi_Tp5 : $@convention(thin) <τ_0_0, τ_0_1 where τ_0_0 == Int64> (Int64, @in τ_0_1) -> ()
603
-
// CHECK: bb0(%0 : $Int64, %1 : $*τ_0_1):
602
+
// CHECK-LABEL: sil shared @$s16eager_specialize34checkExplicitPartialSpecializationyyx_q_tr0_lFs5Int64Vq_ADRszr0_lIetyi_Tp5 : $@convention(thin) <T, S where T == Int64> (Int64, @in S) -> ()
0 commit comments