Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / TableGen / LetInsideMultiClasses.td
blob095f37bfb92fa2d47e0198177680e7dd000a8240
1 // RUN: llvm-tblgen %s | FileCheck %s
2 // XFAIL: vg_leak
4 // CHECK: bit IsDouble = 1;
5 // CHECK: bit IsDouble = 1;
6 // CHECK: bit IsDouble = 1;
7 // CHECK-NOT: bit IsDouble = 1;
9 class Instruction<bits<4> opc, string Name> {
10   bits<4> opcode = opc;
11   string name = Name;
12   bit IsDouble = 0;
15 multiclass basic_r<bits<4> opc> {
16   let name = "newname" in {
17     def rr : Instruction<opc, "rr">;
18     def rm : Instruction<opc, "rm">;
19   }
21   let name = "othername" in
22     def rx : Instruction<opc, "rx">;
25 multiclass basic_ss<bits<4> opc> {
26   let IsDouble = 0 in
27     defm SS : basic_r<opc>;
29   let IsDouble = 1 in
30     defm SD : basic_r<opc>;
33 defm ADD : basic_ss<0xf>;