Mercurial > hg > CbC > CbC_llvm
comparison llvm/test/TableGen/defset.td @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | 2e18cbf3894f |
comparison
equal
deleted
inserted
replaced
147:c2174574ed3a | 150:1d019706d866 |
---|---|
1 // RUN: llvm-tblgen %s | FileCheck %s | |
2 // XFAIL: vg_leak | |
3 | |
4 // CHECK: --- Defs --- | |
5 | |
6 // CHECK: def Sum { | |
7 // CHECK: int x = 712; | |
8 // CHECK: } | |
9 | |
10 // CHECK: def yyy_A0 | |
11 // CHECK: def yyy_A1 | |
12 // CHECK: def yyy_A2 | |
13 // CHECK: def yyy_B0A0 | |
14 // CHECK: def yyy_B0A1 | |
15 // CHECK: def yyy_C0B0A0 | |
16 // CHECK: def yyy_C0B0A1 | |
17 // CHECK: def yyy_C0B1A0 | |
18 // CHECK: def yyy_C0B1A1 | |
19 // CHECK-NOT: def zzz_A0 | |
20 // CHECK: def zzz_B0A0 | |
21 // CHECK: def zzz_B0A1 | |
22 // CHECK: def zzz_C0B0A0 | |
23 // CHECK: def zzz_C0B0A1 | |
24 // CHECK: def zzz_C0B1A0 | |
25 // CHECK: def zzz_C0B1A1 | |
26 | |
27 class A<int a> { | |
28 int Num = a; | |
29 } | |
30 | |
31 multiclass B<int b> { | |
32 def A0 : A<!add(10, b)>; | |
33 def A1 : A<!add(20, b)>; | |
34 } | |
35 | |
36 multiclass C<int c> { | |
37 defm B0 : B<!add(100, c)>; | |
38 defm B1 : B<!add(200, c)>; | |
39 } | |
40 | |
41 defset list<A> As = { | |
42 def A0 : A<1>; | |
43 foreach i = 1-2 in { | |
44 def A#i : A<!add(i, 1)>; | |
45 } | |
46 defset list<A> SubAs = { | |
47 defm B0 : B<2>; | |
48 defm C0 : C<3>; | |
49 } | |
50 } | |
51 | |
52 def Sum { | |
53 int x = !foldl(0, As, a, b, !add(a, b.Num)); | |
54 } | |
55 | |
56 foreach a = As in { | |
57 def yyy_ # !cast<string>(a); | |
58 } | |
59 | |
60 foreach a = SubAs in { | |
61 def zzz_ # !cast<string>(a); | |
62 } |