@@ -125,61 +125,52 @@ bb0(%argc : $Int32, %argv : $UnsafeMutablePointer<Optional<UnsafeMutablePointer<
125
125
%4 = integer_literal $Builtin.Word, 4
126
126
%5 = integer_literal $Builtin.Word, 5
127
127
128
- %two_archetypes_from_two_params_no_singles_with_conformance = function_ref @two_archetypes_from_two_params_no_singles_with_conformance : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
128
+
129
+
130
+ %two_archetypes_from_two_params_no_singles = function_ref @two_archetypes_from_two_params_no_singles : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
129
131
// U_1 -> {A, B, C, D, E, F}
130
132
// ---0--> ^
131
133
// CHECK: A
132
- // CHECK: A
133
134
// U_2 -> {D, E, F, A, B, C}
134
135
// ---0--> ^
135
136
// CHECK: D
136
- // CHECK: D
137
- apply %two_archetypes_from_two_params_no_singles_with_conformance<Pack{A, B, C}, Pack{D, E, F}>(%0) : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
137
+ apply %two_archetypes_from_two_params_no_singles<Pack{A, B, C}, Pack{D, E, F}>(%0) : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
138
138
// U_1 -> {A, B, C, D, E, F}
139
139
// ----1----> ^
140
140
// CHECK: B
141
- // CHECK: B
142
141
// U_2 -> {D, E, F, A, B, C}
143
142
// ----1----> ^
144
143
// CHECK: E
145
- // CHECK: E
146
- apply %two_archetypes_from_two_params_no_singles_with_conformance<Pack{A, B, C}, Pack{D, E, F}>(%1) : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
144
+ apply %two_archetypes_from_two_params_no_singles<Pack{A, B, C}, Pack{D, E, F}>(%1) : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
147
145
// U_1 -> {A, B, C, D, E, F}
148
146
// ------2-----> ^
149
147
// CHECK: C
150
- // CHECK: C
151
148
// U_2 -> {D, E, F, A, B, C}
152
149
// ------2-----> ^
153
150
// CHECK: F
154
- // CHECK: F
155
- apply %two_archetypes_from_two_params_no_singles_with_conformance<Pack{A, B, C}, Pack{D, E, F}>(%2) : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
151
+ apply %two_archetypes_from_two_params_no_singles<Pack{A, B, C}, Pack{D, E, F}>(%2) : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
156
152
// U_1 -> {A, B, C, D, E, F}
157
153
// -------3-------> ^
158
154
// CHECK: D
159
- // CHECK: D
160
155
// U_2 -> {D, E, F, A, B, C}
161
156
// -------3-------> ^
162
157
// CHECK: A
163
- // CHECK: A
164
- apply %two_archetypes_from_two_params_no_singles_with_conformance<Pack{A, B, C}, Pack{D, E, F}>(%3) : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
158
+ apply %two_archetypes_from_two_params_no_singles<Pack{A, B, C}, Pack{D, E, F}>(%3) : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
165
159
// U_1 -> {A, B, C, D, E, F}
166
160
// ---------4--------> ^
167
161
// CHECK: E
168
- // CHECK: E
169
162
// U_2 -> {D, E, F, A, B, C}
170
163
// ---------4--------> ^
171
164
// CHECK: B
172
- // CHECK: B
173
- apply %two_archetypes_from_two_params_no_singles_with_conformance<Pack{A, B, C}, Pack{D, E, F}>(%4) : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
165
+ apply %two_archetypes_from_two_params_no_singles<Pack{A, B, C}, Pack{D, E, F}>(%4) : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
174
166
// U_1 -> {A, B, C, D, E, F}
175
167
// -----------5---------> ^
176
168
// CHECK: F
177
- // CHECK: F
178
169
// U_2 -> {D, E, F, A, B, C}
179
170
// -----------5---------> ^
180
171
// CHECK: C
181
- // CHECK: C
182
- apply %two_archetypes_from_two_params_no_singles_with_conformance<Pack{A, B, C}, Pack{D, E, F}>(%5) : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
172
+ apply %two_archetypes_from_two_params_no_singles<Pack{A, B, C}, Pack{D, E, F}>(%5) : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
173
+
183
174
184
175
%direct_access_from_parameter = function_ref @direct_access_from_parameter : $@convention(thin) <T_1...> (Builtin.Word) -> ()
185
176
// U_1 -> {A, B, C, D, E, F}
@@ -206,49 +197,65 @@ bb0(%argc : $Int32, %argv : $UnsafeMutablePointer<Optional<UnsafeMutablePointer<
206
197
// ----------5----------> ^
207
198
// CHECK: F
208
199
apply %direct_access_from_parameter<Pack{A, B, C, D, E, F}>(%5) : $@convention(thin) <T_1...> (Builtin.Word) -> ()
209
- %two_archetypes_from_two_params_no_singles = function_ref @two_archetypes_from_two_params_no_singles : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
200
+
201
+
202
+
203
+ %two_archetypes_from_two_params_no_singles_with_conformance = function_ref @two_archetypes_from_two_params_no_singles_with_conformance : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
210
204
// U_1 -> {A, B, C, D, E, F}
211
205
// ---0--> ^
212
206
// CHECK: A
207
+ // CHECK: A
213
208
// U_2 -> {D, E, F, A, B, C}
214
209
// ---0--> ^
215
210
// CHECK: D
216
- apply %two_archetypes_from_two_params_no_singles<Pack{A, B, C}, Pack{D, E, F}>(%0) : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
211
+ // CHECK: D
212
+ apply %two_archetypes_from_two_params_no_singles_with_conformance<Pack{A, B, C}, Pack{D, E, F}>(%0) : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
217
213
// U_1 -> {A, B, C, D, E, F}
218
214
// ----1----> ^
219
215
// CHECK: B
216
+ // CHECK: B
220
217
// U_2 -> {D, E, F, A, B, C}
221
218
// ----1----> ^
222
219
// CHECK: E
223
- apply %two_archetypes_from_two_params_no_singles<Pack{A, B, C}, Pack{D, E, F}>(%1) : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
220
+ // CHECK: E
221
+ apply %two_archetypes_from_two_params_no_singles_with_conformance<Pack{A, B, C}, Pack{D, E, F}>(%1) : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
224
222
// U_1 -> {A, B, C, D, E, F}
225
223
// ------2-----> ^
226
224
// CHECK: C
225
+ // CHECK: C
227
226
// U_2 -> {D, E, F, A, B, C}
228
227
// ------2-----> ^
229
228
// CHECK: F
230
- apply %two_archetypes_from_two_params_no_singles<Pack{A, B, C}, Pack{D, E, F}>(%2) : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
229
+ // CHECK: F
230
+ apply %two_archetypes_from_two_params_no_singles_with_conformance<Pack{A, B, C}, Pack{D, E, F}>(%2) : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
231
231
// U_1 -> {A, B, C, D, E, F}
232
232
// -------3-------> ^
233
233
// CHECK: D
234
+ // CHECK: D
234
235
// U_2 -> {D, E, F, A, B, C}
235
236
// -------3-------> ^
236
237
// CHECK: A
237
- apply %two_archetypes_from_two_params_no_singles<Pack{A, B, C}, Pack{D, E, F}>(%3) : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
238
+ // CHECK: A
239
+ apply %two_archetypes_from_two_params_no_singles_with_conformance<Pack{A, B, C}, Pack{D, E, F}>(%3) : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
238
240
// U_1 -> {A, B, C, D, E, F}
239
241
// ---------4--------> ^
240
242
// CHECK: E
243
+ // CHECK: E
241
244
// U_2 -> {D, E, F, A, B, C}
242
245
// ---------4--------> ^
243
246
// CHECK: B
244
- apply %two_archetypes_from_two_params_no_singles<Pack{A, B, C}, Pack{D, E, F}>(%4) : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
247
+ // CHECK: B
248
+ apply %two_archetypes_from_two_params_no_singles_with_conformance<Pack{A, B, C}, Pack{D, E, F}>(%4) : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
245
249
// U_1 -> {A, B, C, D, E, F}
246
250
// -----------5---------> ^
247
251
// CHECK: F
252
+ // CHECK: F
248
253
// U_2 -> {D, E, F, A, B, C}
249
254
// -----------5---------> ^
250
255
// CHECK: C
251
- apply %two_archetypes_from_two_params_no_singles<Pack{A, B, C}, Pack{D, E, F}>(%5) : $@convention(thin) <T_1..., T_2... where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
256
+ // CHECK: C
257
+ apply %two_archetypes_from_two_params_no_singles_with_conformance<Pack{A, B, C}, Pack{D, E, F}>(%5) : $@convention(thin) <T_1... : P, T_2... : P where (repeat (each T_1, each T_2)): Any> (Builtin.Word) -> ()
258
+
252
259
253
260
%direct_access_from_parameter_with_conformance = function_ref @direct_access_from_parameter_with_conformance : $@convention(thin) <T_1...: P> (Builtin.Word) -> ()
254
261
// U_1 -> {A, B, C, D, E, F}
0 commit comments