@@ -64,7 +64,7 @@ func testArrayUninitializedIntrinsic(_ x: Float, _ y: Float) -> [Float] {
64
64
return [ x, y]
65
65
}
66
66
67
- // CHECK: [AD] Activity info for ${{.*}}testArrayUninitializedIntrinsic{{.*}} at (source=0 parameters=(0 1))
67
+ // CHECK-LABEL : [AD] Activity info for ${{.*}}testArrayUninitializedIntrinsic{{.*}} at (source=0 parameters=(0 1))
68
68
// CHECK: [ACTIVE] %0 = argument of bb0 : $Float
69
69
// CHECK: [ACTIVE] %1 = argument of bb0 : $Float
70
70
// CHECK: [USEFUL] %4 = integer_literal $Builtin.Word, 2
@@ -76,18 +76,22 @@ func testArrayUninitializedIntrinsic(_ x: Float, _ y: Float) -> [Float] {
76
76
// CHECK: [VARIED] %11 = integer_literal $Builtin.Word, 1
77
77
// CHECK: [VARIED] %12 = index_addr %9 : $*Float, %11 : $Builtin.Word
78
78
79
- // [AD] Activity info for $s5array31testArrayUninitializedIntrinsicySaySfGSf_SftF at (source=0 parameters=(0 1))
80
- // [ACTIVE] %0 = argument of bb0 : $Float
81
- // [ACTIVE] %1 = argument of bb0 : $Float
82
- // [USEFUL] %4 = integer_literal $Builtin.Word, 2 // user: %6
83
- // [NONE] // function_ref _allocateUninitializedArray<A>(_:)
84
- // %5 = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %6
85
- // [ACTIVE] %6 = apply %5<Float>(%4) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer) // user: %7
86
- // [ACTIVE] (**%7**, %8) = destructure_tuple %6 : $(Array<Float>, Builtin.RawPointer) // user: %14
87
- // [VARIED] (%7, **%8**) = destructure_tuple %6 : $(Array<Float>, Builtin.RawPointer) // user: %9
88
- // [VARIED] %9 = pointer_to_address %8 : $Builtin.RawPointer to [strict] $*Float // users: %12, %10
89
- // [VARIED] %11 = integer_literal $Builtin.Word, 1 // user: %12
90
- // [VARIED] %12 = index_addr %9 : $*Float, %11 : $Builtin.Word // user: %13
79
+ @differentiable ( where T: Differentiable)
80
+ func testArrayUninitializedIntrinsicGeneric< T> ( _ x: T , _ y: T ) -> [ T ] {
81
+ return [ x, y]
82
+ }
83
+
84
+ // CHECK-LABEL: [AD] Activity info for ${{.*}}testArrayUninitializedIntrinsicGeneric{{.*}} at (source=0 parameters=(0 1))
85
+ // CHECK: [VARIED] %0 = argument of bb0 : $*T
86
+ // CHECK: [VARIED] %1 = argument of bb0 : $*T
87
+ // CHECK: [USEFUL] %4 = integer_literal $Builtin.Word, 2
88
+ // CHECK: [NONE] // function_ref _allocateUninitializedArray<A>(_:)
89
+ // CHECK: [ACTIVE] %6 = apply %5<T>(%4) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer)
90
+ // CHECK: [ACTIVE] (**%7**, %8) = destructure_tuple %6 : $(Array<T>, Builtin.RawPointer)
91
+ // CHECK: [VARIED] (%7, **%8**) = destructure_tuple %6 : $(Array<T>, Builtin.RawPointer)
92
+ // CHECK: [VARIED] %9 = pointer_to_address %8 : $Builtin.RawPointer to [strict] $*T
93
+ // CHECK: [VARIED] %11 = integer_literal $Builtin.Word, 1
94
+ // CHECK: [VARIED] %12 = index_addr %9 : $*T, %11 : $Builtin.Word
91
95
92
96
// TF-781: check activity analysis for active local address + nested conditionals.
93
97
0 commit comments