Land the long talked about "type system rewrite" patch. This
[llvm/stm8.git] / test / TableGen / LetInsideMultiClasses.td
blob9238bf42d9bd6a5e6b4175197a56b689b3a29ddd
1 // RUN: tblgen %s | grep "bit IsDouble = 1;" | count 3
2 // XFAIL: vg_leak
4 class Instruction<bits<4> opc, string Name> {
5   bits<4> opcode = opc;
6   string name = Name;
7   bit IsDouble = 0;
10 multiclass basic_r<bits<4> opc> {
11   let name = "newname" in {
12     def rr : Instruction<opc, "rr">;
13     def rm : Instruction<opc, "rm">;
14   }
16   let name = "othername" in
17     def rx : Instruction<opc, "rx">;
20 multiclass basic_ss<bits<4> opc> {
21   let IsDouble = 0 in
22     defm SS : basic_r<opc>;
24   let IsDouble = 1 in
25     defm SD : basic_r<opc>;
28 defm ADD : basic_ss<0xf>;