@@ -72,32 +72,43 @@ func cond(_ x: Float) -> Float {
72
72
// CHECK-SIL: switch_enum [[BB3_PRED]] : $_AD__cond_bb3__Pred__src_0_wrt_0, case #_AD__cond_bb3__Pred__src_0_wrt_0.bb2!enumelt.1: bb3, case #_AD__cond_bb3__Pred__src_0_wrt_0.bb1!enumelt.1: bb1
73
73
74
74
// CHECK-SIL: bb1([[BB3_PRED1_TRAMP_PB_STRUCT:%.*]] : $_AD__cond_bb1__PB__src_0_wrt_0):
75
- // CHECK-SIL: br bb2([[BB3_PRED1_TRAMP_PB_STRUCT]] : $_AD__cond_bb1__PB__src_0_wrt_0, {{%.*}} : $Float, {{%.*}}: $Float)
75
+ // CHECK-SIL: br bb2({{%.*}} : $Float, {{%.*}}: $Float, [[BB3_PRED1_TRAMP_PB_STRUCT]] : $_AD__cond_bb1__PB__src_0_wrt_0 )
76
76
77
- // CHECK-SIL: bb2([[BB1_PB_STRUCT: %.*]] : $_AD__cond_bb1__PB__src_0_wrt_0 , {{%.*}} : $Float, {{ %.*}} : $Float ):
77
+ // CHECK-SIL: bb2({{ %.*}} : $Float , {{%.*}} : $Float, [[BB1_PB_STRUCT: %.*]] : $_AD__cond_bb1__PB__src_0_wrt_0 ):
78
78
// CHECK-SIL: [[BB1_PB:%.*]] = struct_extract [[BB1_PB_STRUCT]]
79
79
// CHECK-SIL: [[BB1_ADJVALS:%.*]] = apply [[BB1_PB]]([[SEED]]) : $@callee_guaranteed (Float) -> (Float, Float)
80
80
// CHECK-SIL: [[BB1_PRED:%.*]] = struct_extract [[BB1_PB_STRUCT]]
81
+ // CHECK-SIL: release_value {{%.*}} : $Float
82
+ // CHECK-SIL: release_value {{%.*}} : $Float
83
+ // CHECK-SIL: release_value {{%.*}} : $Float
84
+ // CHECK-SIL: release_value {{%.*}} : $Float
85
+ // CHECK-SIL: release_value {{%.*}} : $Float
81
86
// CHECK-SIL: [[BB1_PB_STRUCT_DATA:%.*]] = unchecked_enum_data [[BB1_PRED]]
82
87
// CHECK-SIL: br bb5([[BB1_PB_STRUCT_DATA]] : $_AD__cond_bb0__PB__src_0_wrt_0)
83
88
84
89
// CHECK-SIL: bb3([[BB3_PRED2_TRAMP_PB_STRUCT:%.*]] : $_AD__cond_bb2__PB__src_0_wrt_0):
85
- // CHECK-SIL: br bb4([[BB3_PRED2_TRAMP_PB_STRUCT]] : $_AD__cond_bb2__PB__src_0_wrt_0, {{%.*}} : $Float, {{%.*}}: $Float)
90
+ // CHECK-SIL: br bb4({{%.*}} : $Float, {{%.*}}: $Float, [[BB3_PRED2_TRAMP_PB_STRUCT]] : $_AD__cond_bb2__PB__src_0_wrt_0 )
86
91
87
- // CHECK-SIL: bb4([[BB2_PB_STRUCT: %.*]] : $_AD__cond_bb2__PB__src_0_wrt_0 , {{%.*}} : $Float, {{ %.*}} : $Float ):
92
+ // CHECK-SIL: bb4({{ %.*}} : $Float , {{%.*}} : $Float, [[BB2_PB_STRUCT: %.*]] : $_AD__cond_bb2__PB__src_0_wrt_0 ):
88
93
// CHECK-SIL: [[BB2_PB:%.*]] = struct_extract [[BB2_PB_STRUCT]]
89
94
// CHECK-SIL: [[BB2_ADJVALS:%.*]] = apply [[BB2_PB]]([[SEED]]) : $@callee_guaranteed (Float) -> (Float, Float)
90
95
// CHECK-SIL: [[BB2_PRED:%.*]] = struct_extract [[BB2_PB_STRUCT]]
96
+ // CHECK-SIL: release_value {{%.*}} : $Float
97
+ // CHECK-SIL: release_value {{%.*}} : $Float
98
+ // CHECK-SIL: release_value {{%.*}} : $Float
99
+ // CHECK-SIL: release_value {{%.*}} : $Float
91
100
// CHECK-SIL: [[BB2_PB_STRUCT_DATA:%.*]] = unchecked_enum_data [[BB2_PRED]]
92
101
// CHECK-SIL: br bb6([[BB2_PB_STRUCT_DATA]] : $_AD__cond_bb0__PB__src_0_wrt_0)
93
102
94
103
// CHECK-SIL: bb5([[BB1_PRED0_TRAMP_PB_STRUCT:%.*]] : $_AD__cond_bb0__PB__src_0_wrt_0):
95
- // CHECK-SIL: br bb7([[BB1_PRED0_TRAMP_PB_STRUCT]] : $_AD__cond_bb0__PB__src_0_wrt_0, {{%.*}} : $Float)
104
+ // CHECK-SIL: br bb7({{%.*}} : $Float, [[BB1_PRED0_TRAMP_PB_STRUCT]] : $_AD__cond_bb0__PB__src_0_wrt_0 )
96
105
97
106
// CHECK-SIL: bb6([[BB2_PRED0_TRAMP_PB_STRUCT:%.*]] : $_AD__cond_bb0__PB__src_0_wrt_0):
98
- // CHECK-SIL: br bb7([[BB2_PRED0_TRAMP_PB_STRUCT]] : $_AD__cond_bb0__PB__src_0_wrt_0, {{%.*}} : $Float)
107
+ // CHECK-SIL: br bb7({{%.*}} : $Float, [[BB2_PRED0_TRAMP_PB_STRUCT]] : $_AD__cond_bb0__PB__src_0_wrt_0 )
99
108
100
- // CHECK-SIL: bb7([[BB0_PB_STRUCT:%.*]] : $_AD__cond_bb0__PB__src_0_wrt_0, {{%.*}} : $Float):
109
+ // CHECK-SIL: bb7({{%.*}} : $Float, [[BB0_PB_STRUCT:%.*]] : $_AD__cond_bb0__PB__src_0_wrt_0):
110
+ // CHECK-SIL: release_value {{%.*}} : $Float
111
+ // CHECK-SIL: release_value {{%.*}} : $Float
101
112
// CHECK-SIL: return {{%.*}} : $Float
102
113
103
114
@differentiable
@@ -147,30 +158,30 @@ func cond_tuple_var(_ x: Float) -> Float {
147
158
// CHECK-SIL: switch_enum [[BB3_PRED]] : $_AD__cond_tuple_var_bb3__Pred__src_0_wrt_0, case #_AD__cond_tuple_var_bb3__Pred__src_0_wrt_0.bb2!enumelt.1: bb3, case #_AD__cond_tuple_var_bb3__Pred__src_0_wrt_0.bb1!enumelt.1: bb1
148
159
149
160
// CHECK-SIL: bb1([[BB3_PRED1_TRAMP_PB_STRUCT:%.*]] : $_AD__cond_tuple_var_bb1__PB__src_0_wrt_0):
150
- // CHECK-SIL: br bb2([[BB3_PRED1_TRAMP_PB_STRUCT]] : $_AD__cond_tuple_var_bb1__PB__src_0_wrt_0, {{%.*}} : $Float, {{%.*}}: $Float)
161
+ // CHECK-SIL: br bb2({{%.*}} : $Float, {{%.*}} : $Float, [[BB3_PRED1_TRAMP_PB_STRUCT]] : $_AD__cond_tuple_var_bb1__PB__src_0_wrt_0 )
151
162
152
- // CHECK-SIL: bb2([[BB1_PB_STRUCT: %.*]] : $_AD__cond_tuple_var_bb1__PB__src_0_wrt_0 , {{%.*}} : $Float, {{ %.*}} : $Float ):
163
+ // CHECK-SIL: bb2({{ %.*}} : $Float , {{%.*}} : $Float, [[BB1_PB_STRUCT: %.*]] : $_AD__cond_tuple_var_bb1__PB__src_0_wrt_0 ):
153
164
// CHECK-SIL: [[BB1_PRED:%.*]] = struct_extract [[BB1_PB_STRUCT]]
154
165
// CHECK-SIL: copy_addr {{%.*}} to {{%.*}} : $*(Float, Float)
155
166
// CHECK-SIL-NOT: copy_addr {{%.*}} to {{%.*}} : $*Float
156
167
// CHECK-SIL: [[BB1_PB_STRUCT_DATA:%.*]] = unchecked_enum_data [[BB1_PRED]]
157
168
// CHECK-SIL: br bb5([[BB1_PB_STRUCT_DATA]] : $_AD__cond_tuple_var_bb0__PB__src_0_wrt_0)
158
169
159
170
// CHECK-SIL: bb3([[BB3_PRED2_TRAMP_PB_STRUCT:%.*]] : $_AD__cond_tuple_var_bb2__PB__src_0_wrt_0):
160
- // CHECK-SIL: br bb4([[BB3_PRED2_TRAMP_PB_STRUCT]] : $_AD__cond_tuple_var_bb2__PB__src_0_wrt_0, {{%.*}} : $Float, {{%.*}}: $Float)
171
+ // CHECK-SIL: br bb4({{%.*}} : $Float, {{%.*}} : $Float, [[BB3_PRED2_TRAMP_PB_STRUCT]] : $_AD__cond_tuple_var_bb2__PB__src_0_wrt_0 )
161
172
162
- // CHECK-SIL: bb4([[BB2_PB_STRUCT: %.*]] : $_AD__cond_tuple_var_bb2__PB__src_0_wrt_0 , {{%.*}} : $Float, {{ %.*}} : $Float ):
173
+ // CHECK-SIL: bb4({{ %.*}} : $Float , {{%.*}} : $Float, [[BB2_PB_STRUCT: %.*]] : $_AD__cond_tuple_var_bb2__PB__src_0_wrt_0 ):
163
174
// CHECK-SIL: [[BB2_PRED:%.*]] = struct_extract [[BB2_PB_STRUCT]]
164
175
// CHECK-SIL: copy_addr {{%.*}} to {{%.*}} : $*(Float, Float)
165
176
// CHECK-SIL-NOT: copy_addr {{%.*}} to {{%.*}} : $*Float
166
177
// CHECK-SIL: [[BB2_PB_STRUCT_DATA:%.*]] = unchecked_enum_data [[BB2_PRED]]
167
178
// CHECK-SIL: br bb6([[BB2_PB_STRUCT_DATA]] : $_AD__cond_tuple_var_bb0__PB__src_0_wrt_0)
168
179
169
180
// CHECK-SIL: bb5([[BB1_PRED0_TRAMP_PB_STRUCT:%.*]] : $_AD__cond_tuple_var_bb0__PB__src_0_wrt_0):
170
- // CHECK-SIL: br bb7([[BB1_PRED0_TRAMP_PB_STRUCT]] : $_AD__cond_tuple_var_bb0__PB__src_0_wrt_0, {{%.*}} : $Float)
181
+ // CHECK-SIL: br bb7({{%.*}} : $Float, [[BB1_PRED0_TRAMP_PB_STRUCT]] : $_AD__cond_tuple_var_bb0__PB__src_0_wrt_0 )
171
182
172
183
// CHECK-SIL: bb6([[BB2_PRED0_TRAMP_PB_STRUCT:%.*]] : $_AD__cond_tuple_var_bb0__PB__src_0_wrt_0):
173
- // CHECK-SIL: br bb7([[BB2_PRED0_TRAMP_PB_STRUCT]] : $_AD__cond_tuple_var_bb0__PB__src_0_wrt_0, {{%.*}} : $Float)
184
+ // CHECK-SIL: br bb7({{%.*}} : $Float, [[BB2_PRED0_TRAMP_PB_STRUCT]] : $_AD__cond_tuple_var_bb0__PB__src_0_wrt_0 )
174
185
175
- // CHECK-SIL: bb7([[BB0_PB_STRUCT: %.*]] : $_AD__cond_tuple_var_bb0__PB__src_0_wrt_0, {{ %.*}} : $Float ):
186
+ // CHECK-SIL: bb7({{ %.*}} : $Float, [[BB0_PB_STRUCT: %.*]] : $_AD__cond_tuple_var_bb0__PB__src_0_wrt_0 ):
176
187
// CHECK-SIL: return {{%.*}} : $Float
0 commit comments