Mercurial > hg > CbC > CbC_llvm
view 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 |
line wrap: on
line source
// RUN: llvm-tblgen %s | FileCheck %s // XFAIL: vg_leak // CHECK: --- Defs --- // CHECK: def Sum { // CHECK: int x = 712; // CHECK: } // CHECK: def yyy_A0 // CHECK: def yyy_A1 // CHECK: def yyy_A2 // CHECK: def yyy_B0A0 // CHECK: def yyy_B0A1 // CHECK: def yyy_C0B0A0 // CHECK: def yyy_C0B0A1 // CHECK: def yyy_C0B1A0 // CHECK: def yyy_C0B1A1 // CHECK-NOT: def zzz_A0 // CHECK: def zzz_B0A0 // CHECK: def zzz_B0A1 // CHECK: def zzz_C0B0A0 // CHECK: def zzz_C0B0A1 // CHECK: def zzz_C0B1A0 // CHECK: def zzz_C0B1A1 class A<int a> { int Num = a; } multiclass B<int b> { def A0 : A<!add(10, b)>; def A1 : A<!add(20, b)>; } multiclass C<int c> { defm B0 : B<!add(100, c)>; defm B1 : B<!add(200, c)>; } defset list<A> As = { def A0 : A<1>; foreach i = 1...2 in { def A#i : A<!add(i, 1)>; } defset list<A> SubAs = { defm B0 : B<2>; defm C0 : C<3>; } } def Sum { int x = !foldl(0, As, a, b, !add(a, b.Num)); } foreach a = As in { def yyy_ # !cast<string>(a); } foreach a = SubAs in { def zzz_ # !cast<string>(a); }