24 lines
391 B
TableGen
24 lines
391 B
TableGen
|
// RUN: llvm-tblgen %s | FileCheck %s
|
||
|
|
||
|
class AClass<bit C> {
|
||
|
bit Cond = C;
|
||
|
}
|
||
|
|
||
|
def A0: AClass<0>;
|
||
|
def A1: AClass<1>;
|
||
|
|
||
|
class BoolToList<bit Value> {
|
||
|
list<int> ret = !if(Value, [1]<int>, []<int>);
|
||
|
}
|
||
|
|
||
|
multiclass P<string AStr> {
|
||
|
foreach i = BoolToList<!cast<AClass>(AStr).Cond>.ret in
|
||
|
def SubDef;
|
||
|
}
|
||
|
|
||
|
// CHECK-NOT: def XSubDef
|
||
|
defm X : P<"A0">;
|
||
|
|
||
|
// CHECK: def YSubDef
|
||
|
defm Y : P<"A1">;
|