diff options
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/TableGen/UnsetBitInit.td | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/llvm/test/TableGen/UnsetBitInit.td b/llvm/test/TableGen/UnsetBitInit.td index d232293d787..694847358f6 100644 --- a/llvm/test/TableGen/UnsetBitInit.td +++ b/llvm/test/TableGen/UnsetBitInit.td @@ -1,5 +1,34 @@ -// RUN: llvm-tblgen %s +// RUN: llvm-tblgen %s | FileCheck %s // XFAIL: vg_leak + +// CHECK: --- Defs --- + +// Test that P and Q are not replaced by ?. TableGen's codegen emitter backend +// relies on keeping variable references like this around to describe the +// structure of instruction encodings. +// +// CHECK: def A { +// CHECK: bits<8> Inst = { 1, 1, 1, 1, 1, 1, P, Q }; +// CHECK: bits<2> src = { ?, ? }; +// CHECK: bit P = ?; +// CHECK: bit Q = ?; +// CHECK: } + +def A { + bits<8> Inst; + bits<2> src; + + bit P; + bit Q; + + let Inst{7-2} = 0x3f; + let Inst{1} = P; + let Inst{0} = Q; + + let P = src{1}; + let Q = src{0}; +} + class x { field bits<32> A; } |

