annotate llvm/test/TableGen/ForeachList.td @ 207:2e18cbf3894f

LLVM12
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:07:14 +0900
parents 1d019706d866
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: llvm-tblgen %s | FileCheck %s
anatofuz
parents:
diff changeset
2
anatofuz
parents:
diff changeset
3 class Register<string name, int idx> {
anatofuz
parents:
diff changeset
4 string Name = name;
anatofuz
parents:
diff changeset
5 int Index = idx;
anatofuz
parents:
diff changeset
6 }
anatofuz
parents:
diff changeset
7
anatofuz
parents:
diff changeset
8 foreach i = [0, 1, 2, 3, 4, 5, 6, 7] in {
anatofuz
parents:
diff changeset
9 def R#i : Register<"R"#i, i>;
anatofuz
parents:
diff changeset
10 def F#i : Register<"F"#i, i>;
anatofuz
parents:
diff changeset
11 }
anatofuz
parents:
diff changeset
12
anatofuz
parents:
diff changeset
13 def Defs {
anatofuz
parents:
diff changeset
14 list<int> a = [0, 1];
anatofuz
parents:
diff changeset
15 list<int> b = [2, 3];
anatofuz
parents:
diff changeset
16 }
anatofuz
parents:
diff changeset
17
anatofuz
parents:
diff changeset
18 foreach i = Defs.a in {
anatofuz
parents:
diff changeset
19 def X#i;
anatofuz
parents:
diff changeset
20 }
anatofuz
parents:
diff changeset
21
anatofuz
parents:
diff changeset
22 foreach i = !listconcat(Defs.a, Defs.b) in
anatofuz
parents:
diff changeset
23 def Y#i;
anatofuz
parents:
diff changeset
24
anatofuz
parents:
diff changeset
25 // CHECK: def F0
anatofuz
parents:
diff changeset
26 // CHECK: string Name = "F0";
anatofuz
parents:
diff changeset
27 // CHECK: int Index = 0;
anatofuz
parents:
diff changeset
28
anatofuz
parents:
diff changeset
29 // CHECK: def F1
anatofuz
parents:
diff changeset
30 // CHECK: string Name = "F1";
anatofuz
parents:
diff changeset
31 // CHECK: int Index = 1;
anatofuz
parents:
diff changeset
32
anatofuz
parents:
diff changeset
33 // CHECK: def F2
anatofuz
parents:
diff changeset
34 // CHECK: string Name = "F2";
anatofuz
parents:
diff changeset
35 // CHECK: int Index = 2;
anatofuz
parents:
diff changeset
36
anatofuz
parents:
diff changeset
37 // CHECK: def F3
anatofuz
parents:
diff changeset
38 // CHECK: string Name = "F3";
anatofuz
parents:
diff changeset
39 // CHECK: int Index = 3;
anatofuz
parents:
diff changeset
40
anatofuz
parents:
diff changeset
41 // CHECK: def F4
anatofuz
parents:
diff changeset
42 // CHECK: string Name = "F4";
anatofuz
parents:
diff changeset
43 // CHECK: int Index = 4;
anatofuz
parents:
diff changeset
44
anatofuz
parents:
diff changeset
45 // CHECK: def F5
anatofuz
parents:
diff changeset
46 // CHECK: string Name = "F5";
anatofuz
parents:
diff changeset
47 // CHECK: int Index = 5;
anatofuz
parents:
diff changeset
48
anatofuz
parents:
diff changeset
49 // CHECK: def F6
anatofuz
parents:
diff changeset
50 // CHECK: string Name = "F6";
anatofuz
parents:
diff changeset
51 // CHECK: int Index = 6;
anatofuz
parents:
diff changeset
52
anatofuz
parents:
diff changeset
53 // CHECK: def F7
anatofuz
parents:
diff changeset
54 // CHECK: string Name = "F7";
anatofuz
parents:
diff changeset
55 // CHECK: int Index = 7;
anatofuz
parents:
diff changeset
56
anatofuz
parents:
diff changeset
57 // CHECK: def R0
anatofuz
parents:
diff changeset
58 // CHECK: string Name = "R0";
anatofuz
parents:
diff changeset
59 // CHECK: int Index = 0;
anatofuz
parents:
diff changeset
60
anatofuz
parents:
diff changeset
61 // CHECK: def R1
anatofuz
parents:
diff changeset
62 // CHECK: string Name = "R1";
anatofuz
parents:
diff changeset
63 // CHECK: int Index = 1;
anatofuz
parents:
diff changeset
64
anatofuz
parents:
diff changeset
65 // CHECK: def R2
anatofuz
parents:
diff changeset
66 // CHECK: string Name = "R2";
anatofuz
parents:
diff changeset
67 // CHECK: int Index = 2;
anatofuz
parents:
diff changeset
68
anatofuz
parents:
diff changeset
69 // CHECK: def R3
anatofuz
parents:
diff changeset
70 // CHECK: string Name = "R3";
anatofuz
parents:
diff changeset
71 // CHECK: int Index = 3;
anatofuz
parents:
diff changeset
72
anatofuz
parents:
diff changeset
73 // CHECK: def R4
anatofuz
parents:
diff changeset
74 // CHECK: string Name = "R4";
anatofuz
parents:
diff changeset
75 // CHECK: int Index = 4;
anatofuz
parents:
diff changeset
76
anatofuz
parents:
diff changeset
77 // CHECK: def R5
anatofuz
parents:
diff changeset
78 // CHECK: string Name = "R5";
anatofuz
parents:
diff changeset
79 // CHECK: int Index = 5;
anatofuz
parents:
diff changeset
80
anatofuz
parents:
diff changeset
81 // CHECK: def R6
anatofuz
parents:
diff changeset
82 // CHECK: string Name = "R6";
anatofuz
parents:
diff changeset
83 // CHECK: int Index = 6;
anatofuz
parents:
diff changeset
84
anatofuz
parents:
diff changeset
85 // CHECK: def R7
anatofuz
parents:
diff changeset
86 // CHECK: string Name = "R7";
anatofuz
parents:
diff changeset
87 // CHECK: int Index = 7;
anatofuz
parents:
diff changeset
88
anatofuz
parents:
diff changeset
89 // CHECK: def X0
anatofuz
parents:
diff changeset
90 // CHECK: def X1
anatofuz
parents:
diff changeset
91 // CHECK: def Y0
anatofuz
parents:
diff changeset
92 // CHECK: def Y1
anatofuz
parents:
diff changeset
93 // CHECK: def Y2
anatofuz
parents:
diff changeset
94 // CHECK: def Y3