xref: /aosp_15_r20/external/llvm/test/TableGen/SiblingForeach.td (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-tblgen %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerclass Set<int i = 0, int j = 0, int k = 0> {
4*9880d681SAndroid Build Coastguard Worker  int I = i;
5*9880d681SAndroid Build Coastguard Worker  int J = j;
6*9880d681SAndroid Build Coastguard Worker  int K = k;
7*9880d681SAndroid Build Coastguard Worker}
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workerforeach i = [1, 2, 3] in {
10*9880d681SAndroid Build Coastguard Worker  def I1_#i : Set<i>;
11*9880d681SAndroid Build Coastguard Worker  foreach j = [1, 2, 3] in {
12*9880d681SAndroid Build Coastguard Worker    def I1_#i#_J1_#j : Set<i, j>;
13*9880d681SAndroid Build Coastguard Worker  }
14*9880d681SAndroid Build Coastguard Worker  def I2_#i : Set<i>;
15*9880d681SAndroid Build Coastguard Worker  foreach j = [4, 5, 6] in {
16*9880d681SAndroid Build Coastguard Worker    foreach k = [1, 2, 3] in {
17*9880d681SAndroid Build Coastguard Worker      def I3_#i#_J2_#j#_K1_#k : Set<i, j, k>;
18*9880d681SAndroid Build Coastguard Worker    }
19*9880d681SAndroid Build Coastguard Worker    def I4_#i#_J3_#j : Set<i, j>;
20*9880d681SAndroid Build Coastguard Worker  }
21*9880d681SAndroid Build Coastguard Worker}
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Worker// CHECK: def I1_1
24*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
25*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 0;
26*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker// CHECK: def I1_1_J1_1
29*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
30*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 1;
31*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Worker// CHECK: def I1_1_J1_2
34*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
35*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 2;
36*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
37*9880d681SAndroid Build Coastguard Worker
38*9880d681SAndroid Build Coastguard Worker// CHECK: def I1_1_J1_3
39*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
40*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 3;
41*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
42*9880d681SAndroid Build Coastguard Worker
43*9880d681SAndroid Build Coastguard Worker// CHECK: def I1_2
44*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
45*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 0;
46*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
47*9880d681SAndroid Build Coastguard Worker
48*9880d681SAndroid Build Coastguard Worker// CHECK: def I1_2_J1_1
49*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
50*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 1;
51*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Worker// CHECK: def I1_2_J1_2
54*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
55*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 2;
56*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
57*9880d681SAndroid Build Coastguard Worker
58*9880d681SAndroid Build Coastguard Worker// CHECK: def I1_2_J1_3
59*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
60*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 3;
61*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Worker// CHECK: def I1_3
64*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
65*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 0;
66*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
67*9880d681SAndroid Build Coastguard Worker
68*9880d681SAndroid Build Coastguard Worker// CHECK: def I1_3_J1_1
69*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
70*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 1;
71*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
72*9880d681SAndroid Build Coastguard Worker
73*9880d681SAndroid Build Coastguard Worker// CHECK: def I1_3_J1_2
74*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
75*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 2;
76*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
77*9880d681SAndroid Build Coastguard Worker
78*9880d681SAndroid Build Coastguard Worker// CHECK: def I1_3_J1_3
79*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
80*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 3;
81*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
82*9880d681SAndroid Build Coastguard Worker
83*9880d681SAndroid Build Coastguard Worker// CHECK: def I2_1
84*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
85*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 0;
86*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
87*9880d681SAndroid Build Coastguard Worker
88*9880d681SAndroid Build Coastguard Worker// CHECK: def I2_2
89*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
90*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 0;
91*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
92*9880d681SAndroid Build Coastguard Worker
93*9880d681SAndroid Build Coastguard Worker// CHECK: def I2_3
94*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
95*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 0;
96*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
97*9880d681SAndroid Build Coastguard Worker
98*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_1_J2_4_K1_1
99*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
100*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 4;
101*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 1;
102*9880d681SAndroid Build Coastguard Worker
103*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_1_J2_4_K1_2
104*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
105*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 4;
106*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 2;
107*9880d681SAndroid Build Coastguard Worker
108*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_1_J2_4_K1_3
109*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
110*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 4;
111*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 3;
112*9880d681SAndroid Build Coastguard Worker
113*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_1_J2_5_K1_1
114*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
115*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 5;
116*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 1;
117*9880d681SAndroid Build Coastguard Worker
118*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_1_J2_5_K1_2
119*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
120*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 5;
121*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 2;
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_1_J2_5_K1_3
124*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
125*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 5;
126*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 3;
127*9880d681SAndroid Build Coastguard Worker
128*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_1_J2_6_K1_1
129*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
130*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 6;
131*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 1;
132*9880d681SAndroid Build Coastguard Worker
133*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_1_J2_6_K1_2
134*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
135*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 6;
136*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 2;
137*9880d681SAndroid Build Coastguard Worker
138*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_1_J2_6_K1_3
139*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
140*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 6;
141*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 3;
142*9880d681SAndroid Build Coastguard Worker
143*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_2_J2_4_K1_1
144*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
145*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 4;
146*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 1;
147*9880d681SAndroid Build Coastguard Worker
148*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_2_J2_4_K1_2
149*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
150*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 4;
151*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 2;
152*9880d681SAndroid Build Coastguard Worker
153*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_2_J2_4_K1_3
154*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
155*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 4;
156*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 3;
157*9880d681SAndroid Build Coastguard Worker
158*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_2_J2_5_K1_1
159*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
160*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 5;
161*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 1;
162*9880d681SAndroid Build Coastguard Worker
163*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_2_J2_5_K1_2
164*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
165*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 5;
166*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 2;
167*9880d681SAndroid Build Coastguard Worker
168*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_2_J2_5_K1_3
169*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
170*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 5;
171*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 3;
172*9880d681SAndroid Build Coastguard Worker
173*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_2_J2_6_K1_1
174*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
175*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 6;
176*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 1;
177*9880d681SAndroid Build Coastguard Worker
178*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_2_J2_6_K1_2
179*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
180*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 6;
181*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 2;
182*9880d681SAndroid Build Coastguard Worker
183*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_2_J2_6_K1_3
184*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
185*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 6;
186*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 3;
187*9880d681SAndroid Build Coastguard Worker
188*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_3_J2_4_K1_1
189*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
190*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 4;
191*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 1;
192*9880d681SAndroid Build Coastguard Worker
193*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_3_J2_4_K1_2
194*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
195*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 4;
196*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 2;
197*9880d681SAndroid Build Coastguard Worker
198*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_3_J2_4_K1_3
199*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
200*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 4;
201*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 3;
202*9880d681SAndroid Build Coastguard Worker
203*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_3_J2_5_K1_1
204*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
205*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 5;
206*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 1;
207*9880d681SAndroid Build Coastguard Worker
208*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_3_J2_5_K1_2
209*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
210*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 5;
211*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 2;
212*9880d681SAndroid Build Coastguard Worker
213*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_3_J2_5_K1_3
214*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
215*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 5;
216*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 3;
217*9880d681SAndroid Build Coastguard Worker
218*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_3_J2_6_K1_1
219*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
220*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 6;
221*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 1;
222*9880d681SAndroid Build Coastguard Worker
223*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_3_J2_6_K1_2
224*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
225*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 6;
226*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 2;
227*9880d681SAndroid Build Coastguard Worker
228*9880d681SAndroid Build Coastguard Worker// CHECK: def I3_3_J2_6_K1_3
229*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
230*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 6;
231*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 3;
232*9880d681SAndroid Build Coastguard Worker
233*9880d681SAndroid Build Coastguard Worker// CHECK: def I4_1_J3_4
234*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
235*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 4;
236*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
237*9880d681SAndroid Build Coastguard Worker
238*9880d681SAndroid Build Coastguard Worker// CHECK: def I4_1_J3_5
239*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
240*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 5;
241*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
242*9880d681SAndroid Build Coastguard Worker
243*9880d681SAndroid Build Coastguard Worker// CHECK: def I4_1_J3_6
244*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 1;
245*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 6;
246*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
247*9880d681SAndroid Build Coastguard Worker
248*9880d681SAndroid Build Coastguard Worker// CHECK: def I4_2_J3_4
249*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
250*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 4;
251*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
252*9880d681SAndroid Build Coastguard Worker
253*9880d681SAndroid Build Coastguard Worker// CHECK: def I4_2_J3_5
254*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
255*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 5;
256*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
257*9880d681SAndroid Build Coastguard Worker
258*9880d681SAndroid Build Coastguard Worker// CHECK: def I4_2_J3_6
259*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 2;
260*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 6;
261*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
262*9880d681SAndroid Build Coastguard Worker
263*9880d681SAndroid Build Coastguard Worker// CHECK: def I4_3_J3_4
264*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
265*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 4;
266*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
267*9880d681SAndroid Build Coastguard Worker
268*9880d681SAndroid Build Coastguard Worker// CHECK: def I4_3_J3_5
269*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
270*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 5;
271*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
272*9880d681SAndroid Build Coastguard Worker
273*9880d681SAndroid Build Coastguard Worker// CHECK: def I4_3_J3_6
274*9880d681SAndroid Build Coastguard Worker// CHECK: int I = 3;
275*9880d681SAndroid Build Coastguard Worker// CHECK: int J = 6;
276*9880d681SAndroid Build Coastguard Worker// CHECK: int K = 0;
277