annotate llvm/test/TableGen/defset.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 // XFAIL: vg_leak
anatofuz
parents:
diff changeset
3
anatofuz
parents:
diff changeset
4 // CHECK: --- Defs ---
anatofuz
parents:
diff changeset
5
anatofuz
parents:
diff changeset
6 // CHECK: def Sum {
anatofuz
parents:
diff changeset
7 // CHECK: int x = 712;
anatofuz
parents:
diff changeset
8 // CHECK: }
anatofuz
parents:
diff changeset
9
anatofuz
parents:
diff changeset
10 // CHECK: def yyy_A0
anatofuz
parents:
diff changeset
11 // CHECK: def yyy_A1
anatofuz
parents:
diff changeset
12 // CHECK: def yyy_A2
anatofuz
parents:
diff changeset
13 // CHECK: def yyy_B0A0
anatofuz
parents:
diff changeset
14 // CHECK: def yyy_B0A1
anatofuz
parents:
diff changeset
15 // CHECK: def yyy_C0B0A0
anatofuz
parents:
diff changeset
16 // CHECK: def yyy_C0B0A1
anatofuz
parents:
diff changeset
17 // CHECK: def yyy_C0B1A0
anatofuz
parents:
diff changeset
18 // CHECK: def yyy_C0B1A1
anatofuz
parents:
diff changeset
19 // CHECK-NOT: def zzz_A0
anatofuz
parents:
diff changeset
20 // CHECK: def zzz_B0A0
anatofuz
parents:
diff changeset
21 // CHECK: def zzz_B0A1
anatofuz
parents:
diff changeset
22 // CHECK: def zzz_C0B0A0
anatofuz
parents:
diff changeset
23 // CHECK: def zzz_C0B0A1
anatofuz
parents:
diff changeset
24 // CHECK: def zzz_C0B1A0
anatofuz
parents:
diff changeset
25 // CHECK: def zzz_C0B1A1
anatofuz
parents:
diff changeset
26
anatofuz
parents:
diff changeset
27 class A<int a> {
anatofuz
parents:
diff changeset
28 int Num = a;
anatofuz
parents:
diff changeset
29 }
anatofuz
parents:
diff changeset
30
anatofuz
parents:
diff changeset
31 multiclass B<int b> {
anatofuz
parents:
diff changeset
32 def A0 : A<!add(10, b)>;
anatofuz
parents:
diff changeset
33 def A1 : A<!add(20, b)>;
anatofuz
parents:
diff changeset
34 }
anatofuz
parents:
diff changeset
35
anatofuz
parents:
diff changeset
36 multiclass C<int c> {
anatofuz
parents:
diff changeset
37 defm B0 : B<!add(100, c)>;
anatofuz
parents:
diff changeset
38 defm B1 : B<!add(200, c)>;
anatofuz
parents:
diff changeset
39 }
anatofuz
parents:
diff changeset
40
anatofuz
parents:
diff changeset
41 defset list<A> As = {
anatofuz
parents:
diff changeset
42 def A0 : A<1>;
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
43 foreach i = 1...2 in {
150
anatofuz
parents:
diff changeset
44 def A#i : A<!add(i, 1)>;
anatofuz
parents:
diff changeset
45 }
anatofuz
parents:
diff changeset
46 defset list<A> SubAs = {
anatofuz
parents:
diff changeset
47 defm B0 : B<2>;
anatofuz
parents:
diff changeset
48 defm C0 : C<3>;
anatofuz
parents:
diff changeset
49 }
anatofuz
parents:
diff changeset
50 }
anatofuz
parents:
diff changeset
51
anatofuz
parents:
diff changeset
52 def Sum {
anatofuz
parents:
diff changeset
53 int x = !foldl(0, As, a, b, !add(a, b.Num));
anatofuz
parents:
diff changeset
54 }
anatofuz
parents:
diff changeset
55
anatofuz
parents:
diff changeset
56 foreach a = As in {
anatofuz
parents:
diff changeset
57 def yyy_ # !cast<string>(a);
anatofuz
parents:
diff changeset
58 }
anatofuz
parents:
diff changeset
59
anatofuz
parents:
diff changeset
60 foreach a = SubAs in {
anatofuz
parents:
diff changeset
61 def zzz_ # !cast<string>(a);
anatofuz
parents:
diff changeset
62 }