diff options
Diffstat (limited to 'test/TableGen')
37 files changed, 39 insertions, 41 deletions
diff --git a/test/TableGen/2006-09-18-LargeInt.td b/test/TableGen/2006-09-18-LargeInt.td index f7ae4eecceb4..94cd1ec30710 100644 --- a/test/TableGen/2006-09-18-LargeInt.td +++ b/test/TableGen/2006-09-18-LargeInt.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | grep -- 4294901760 -// XFAIL: vg_leak def X { int Y = 0xFFFF0000; diff --git a/test/TableGen/2010-03-24-PrematureDefaults.td b/test/TableGen/2010-03-24-PrematureDefaults.td index 24f6c93b3e17..716a1d59008c 100644 --- a/test/TableGen/2010-03-24-PrematureDefaults.td +++ b/test/TableGen/2010-03-24-PrematureDefaults.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class A<int k, bits<2> x = 1> { int K = k; diff --git a/test/TableGen/Dag.td b/test/TableGen/Dag.td index 7ceb4e74b2ff..14d616b52173 100644 --- a/test/TableGen/Dag.td +++ b/test/TableGen/Dag.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak //===----------------------------------------------------------------------===// // Substitution of an int. @@ -71,3 +70,15 @@ def VAL4 : bar<foo2, somedef2>; // CHECK-NEXT: dag Dag3 = (somedef2 2); // CHECK-NEXT: NAME = ? // CHECK-NEXT: } + +def VAL5 : bar<foo2, somedef2> { + // Named operands. + let Dag1 = (somedef1 1:$name1); + + // Name, no node. + let Dag2 = (somedef2 $name2, $name3); +} + +// CHECK: def VAL5 { +// CHECK-NEXT: dag Dag1 = (somedef1 1:$name1); +// CHECK-NEXT: dag Dag2 = (somedef2 ?:$name2, ?:$name3); diff --git a/test/TableGen/DefmInherit.td b/test/TableGen/DefmInherit.td index 46d3f62c6d04..b52a709731e1 100644 --- a/test/TableGen/DefmInherit.td +++ b/test/TableGen/DefmInherit.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | grep "zing = 4" | count 4 -// XFAIL: vg_leak class C1<int A, string B> { int bar = A; diff --git a/test/TableGen/DefmInsideMultiClass.td b/test/TableGen/DefmInsideMultiClass.td index e6fc019b1e3e..0aea21280da0 100644 --- a/test/TableGen/DefmInsideMultiClass.td +++ b/test/TableGen/DefmInsideMultiClass.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | grep ADDPSrr | count 1 -// XFAIL: vg_leak class Instruction<bits<4> opc, string Name> { bits<4> opcode = opc; diff --git a/test/TableGen/ForeachList.td b/test/TableGen/ForeachList.td index 99b7e14c2d5f..9bc76e0f0cf8 100644 --- a/test/TableGen/ForeachList.td +++ b/test/TableGen/ForeachList.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class Register<string name, int idx> { string Name = name; diff --git a/test/TableGen/ForeachLoop.td b/test/TableGen/ForeachLoop.td index 4aacc74d8aa2..a49a60bf2692 100644 --- a/test/TableGen/ForeachLoop.td +++ b/test/TableGen/ForeachLoop.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class Register<string name, int idx> { string Name = name; diff --git a/test/TableGen/LazyChange.td b/test/TableGen/LazyChange.td index 306959ebb6a2..919a1a7e9a32 100644 --- a/test/TableGen/LazyChange.td +++ b/test/TableGen/LazyChange.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | grep "int Y = 3" -// XFAIL: vg_leak class C { int X = 4; diff --git a/test/TableGen/LetInsideMultiClasses.td b/test/TableGen/LetInsideMultiClasses.td index cb13508e5117..72f48b6d8066 100644 --- a/test/TableGen/LetInsideMultiClasses.td +++ b/test/TableGen/LetInsideMultiClasses.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | grep "bit IsDouble = 1;" | count 3 -// XFAIL: vg_leak class Instruction<bits<4> opc, string Name> { bits<4> opcode = opc; diff --git a/test/TableGen/ListOfList.td b/test/TableGen/ListOfList.td index 864401ec3cd3..adf9fe483eb4 100644 --- a/test/TableGen/ListOfList.td +++ b/test/TableGen/ListOfList.td @@ -1,7 +1,6 @@ // RUN llvm-tblgen %s | FileCheck %s // RUN: llvm-tblgen %s | grep "foo" | count 1 -// XFAIL: vg_leak class Base<string t> { string text = t; diff --git a/test/TableGen/LoLoL.td b/test/TableGen/LoLoL.td index 778c9609d1a2..f758e1b60476 100644 --- a/test/TableGen/LoLoL.td +++ b/test/TableGen/LoLoL.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class Base<list<int> v> { list<int> values = v; diff --git a/test/TableGen/MultiClass.td b/test/TableGen/MultiClass.td index 449c5d6c0403..ef320cf79f16 100644 --- a/test/TableGen/MultiClass.td +++ b/test/TableGen/MultiClass.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | grep "zing = 4" | count 2 -// XFAIL: vg_leak class C1<int A, string B> { int bar = A; diff --git a/test/TableGen/MultiClassDefName.td b/test/TableGen/MultiClassDefName.td index 296e30c7c788..75d6af5b42b9 100644 --- a/test/TableGen/MultiClassDefName.td +++ b/test/TableGen/MultiClassDefName.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | grep WorldHelloCC | count 1 -// XFAIL: vg_leak class C<string n> { string name = n; diff --git a/test/TableGen/MultiClassInherit.td b/test/TableGen/MultiClassInherit.td index c768fff0b670..9d1470a6616b 100644 --- a/test/TableGen/MultiClassInherit.td +++ b/test/TableGen/MultiClassInherit.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | grep "zing = 4" | count 28 -// XFAIL: vg_leak class C1<int A, string B> { int bar = A; diff --git a/test/TableGen/MultiPat.td b/test/TableGen/MultiPat.td index b3792777b6b5..b49b06c24caf 100644 --- a/test/TableGen/MultiPat.td +++ b/test/TableGen/MultiPat.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class ValueType<int size, int value> { int Size = size; diff --git a/test/TableGen/NestedForeach.td b/test/TableGen/NestedForeach.td index e8c16f720d0e..5b63175b192a 100644 --- a/test/TableGen/NestedForeach.td +++ b/test/TableGen/NestedForeach.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class Droid<string series, int release, string model, int patchlevel> { string Series = series; diff --git a/test/TableGen/Paste.td b/test/TableGen/Paste.td index a7e2a5b318ba..33d61ccde128 100644 --- a/test/TableGen/Paste.td +++ b/test/TableGen/Paste.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class Instr<int i> { int index = i; diff --git a/test/TableGen/SetTheory.td b/test/TableGen/SetTheory.td index 761332312b0f..f26b9e65ac0d 100644 --- a/test/TableGen/SetTheory.td +++ b/test/TableGen/SetTheory.td @@ -1,6 +1,5 @@ // Test evaluation of set operations in dags. // RUN: llvm-tblgen -print-sets %s | FileCheck %s -// XFAIL: vg_leak // // The -print-sets driver configures a primitive SetTheory instance that // understands these sets: diff --git a/test/TableGen/SiblingForeach.td b/test/TableGen/SiblingForeach.td index a11f6f87b427..e4c4704a5e39 100644 --- a/test/TableGen/SiblingForeach.td +++ b/test/TableGen/SiblingForeach.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class Set<int i = 0, int j = 0, int k = 0> { int I = i; diff --git a/test/TableGen/Slice.td b/test/TableGen/Slice.td index 6d051d77c8a3..7a35d315c5d8 100644 --- a/test/TableGen/Slice.td +++ b/test/TableGen/Slice.td @@ -1,6 +1,4 @@ -// RUN: llvm-tblgen %s | grep "\[(set" | count 2 -// RUN: llvm-tblgen %s | grep "\[\]" | count 2 -// XFAIL: vg_leak +// RUN: llvm-tblgen %s | FileCheck %s class ValueType<int size, int value> { int Size = size; @@ -86,3 +84,8 @@ multiclass myscalar<bits<8> opcode, string asmstr = "", list<list<dag>> patterns vscalar<opcode, asmstr, patterns>; defm NOT : myscalar<0x10, "not", [[], [(set FR32:$dst, (f32 (not FR32:$src)))]]>; + +// CHECK: Pattern = [(set FR32:$dst, (f32 (not FR32:$src)))]; +// CHECK: Pattern = []; +// CHECK: Pattern = [(set FR32:$dst, (f32 (not FR32:$src)))]; +// CHECK: Pattern = []; diff --git a/test/TableGen/TargetInstrSpec.td b/test/TableGen/TargetInstrSpec.td index 64b706dc6a10..bf2d257c5d01 100644 --- a/test/TableGen/TargetInstrSpec.td +++ b/test/TableGen/TargetInstrSpec.td @@ -1,6 +1,5 @@ // RUN: llvm-tblgen %s | grep '\[(set VR128:$dst, (int_x86_sse2_add_pd VR128:$src1, VR128:$src2))\]' | count 1 // RUN: llvm-tblgen %s | grep '\[(set VR128:$dst, (int_x86_sse2_add_ps VR128:$src1, VR128:$src2))\]' | count 1 -// XFAIL: vg_leak class ValueType<int size, int value> { int Size = size; diff --git a/test/TableGen/TwoLevelName.td b/test/TableGen/TwoLevelName.td index 9c502f475507..e88696217f70 100644 --- a/test/TableGen/TwoLevelName.td +++ b/test/TableGen/TwoLevelName.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class Type<string name, int length, int width> { string Name = name; diff --git a/test/TableGen/cast.td b/test/TableGen/cast.td index 7948aff79528..b9e4b375359b 100644 --- a/test/TableGen/cast.td +++ b/test/TableGen/cast.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | grep "add_ps" | count 3 -// XFAIL: vg_leak class ValueType<int size, int value> { int Size = size; diff --git a/test/TableGen/defmclass.td b/test/TableGen/defmclass.td index 80f03b319426..6198c000fddc 100644 --- a/test/TableGen/defmclass.td +++ b/test/TableGen/defmclass.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class XD { bits<4> Prefix = 11; } // CHECK: Prefix = { 1, 1, 0, 0 }; diff --git a/test/TableGen/eq.td b/test/TableGen/eq.td index f8daf880b9ed..fc3ad424e2f7 100644 --- a/test/TableGen/eq.td +++ b/test/TableGen/eq.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak // CHECK: Value = 0 // CHECK: Value = 1 diff --git a/test/TableGen/eqbit.td b/test/TableGen/eqbit.td index 1d58fa0c1916..b77b1a26dfe1 100644 --- a/test/TableGen/eqbit.td +++ b/test/TableGen/eqbit.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak // CHECK: a = 6 // CHECK: a = 5 diff --git a/test/TableGen/foreach.td b/test/TableGen/foreach.td index 902af25237e9..7b7c19972884 100644 --- a/test/TableGen/foreach.td +++ b/test/TableGen/foreach.td @@ -1,7 +1,6 @@ // RUN: llvm-tblgen %s | grep 'Jr' | count 2 // RUN: llvm-tblgen %s | grep 'Sr' | count 2 // RUN: llvm-tblgen %s | grep '"NAME"' | count 1 -// XFAIL: vg_leak // Variables for foreach class decls { diff --git a/test/TableGen/if.td b/test/TableGen/if.td index 1d8d62329ae3..e4df74f36860 100644 --- a/test/TableGen/if.td +++ b/test/TableGen/if.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak // Support for an `!if' operator as part of a `let' statement. // CHECK: class C diff --git a/test/TableGen/ifbit.td b/test/TableGen/ifbit.td index 88f575e9acfc..e3341219ffe8 100644 --- a/test/TableGen/ifbit.td +++ b/test/TableGen/ifbit.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak // CHECK: a = 6 // CHECK: a = 5 diff --git a/test/TableGen/lisp.td b/test/TableGen/lisp.td index dd85ddc67c94..efe00022f51d 100644 --- a/test/TableGen/lisp.td +++ b/test/TableGen/lisp.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | grep "" -// XFAIL: vg_leak class List<list<string> n> { list<string> names = n; diff --git a/test/TableGen/list-element-bitref.td b/test/TableGen/list-element-bitref.td index 5f3e3dabf4d4..7db3d31167fd 100644 --- a/test/TableGen/list-element-bitref.td +++ b/test/TableGen/list-element-bitref.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class C<list<bits<8>> L> { bits<2> V0 = L[0]{1-0}; @@ -10,6 +9,6 @@ class C<list<bits<8>> L> { def c0 : C<[0b0101, 0b1010]>; // CHECK: def c0 -// CHECk-NEXT: bits<2> V0 = { 0, 1 }; -// CHECk-NEXT: bits<2> V1 = { 1, 0 }; -// CHECk-NEXT: string V2 = "Odd"; +// CHECK-NEXT: bits<2> V0 = { 0, 1 }; +// CHECK-NEXT: bits<2> V1 = { 1, 0 }; +// CHECK-NEXT: string V2 = "Odd"; diff --git a/test/TableGen/math.td b/test/TableGen/math.td new file mode 100644 index 000000000000..bde267a652dc --- /dev/null +++ b/test/TableGen/math.td @@ -0,0 +1,18 @@ +// RUN: llvm-tblgen %s | FileCheck %s + +class Int<int value> { + int Value = value; +} + +def v1024 : Int<1024>; +// CHECK: def v1024 +// CHECK: Value = 1024 + +def v1025 : Int<!add(v1024.Value, 1)>; +// CHECK: def v1025 +// CHECK: Value = 1025 + +def v2048 : Int<!add(v1024.Value, v1024.Value)>; +// CHECK: def v2048 +// CHECK: Value = 2048 + diff --git a/test/TableGen/pr8330.td b/test/TableGen/pr8330.td index 7779b635e33c..e6720147890b 100644 --- a/test/TableGen/pr8330.td +++ b/test/TableGen/pr8330.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class Or4<bits<8> Val> { bits<8> V = {Val{7}, Val{6}, Val{5}, Val{4}, Val{3}, 1, Val{1}, Val{0} }; diff --git a/test/TableGen/strconcat.td b/test/TableGen/strconcat.td index 85ee831b4dae..0173c49365cc 100644 --- a/test/TableGen/strconcat.td +++ b/test/TableGen/strconcat.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | grep fufoo -// XFAIL: vg_leak class Y<string S> { string T = !strconcat(S, "foo"); diff --git a/test/TableGen/subst.td b/test/TableGen/subst.td index 850ac38465c3..e265b44cf328 100644 --- a/test/TableGen/subst.td +++ b/test/TableGen/subst.td @@ -4,7 +4,6 @@ // RUN: llvm-tblgen %s | grep "LAST" | count 1 // RUN: llvm-tblgen %s | grep "TVAR" | count 2 // RUN: llvm-tblgen %s | grep "Bogus" | count 1 -// XFAIL: vg_leak class Honorific<string t> { string honorific = t; diff --git a/test/TableGen/subst2.td b/test/TableGen/subst2.td index 7c007f7db12e..ce7307703dcc 100644 --- a/test/TableGen/subst2.td +++ b/test/TableGen/subst2.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak // CHECK: No subst // CHECK: No foo // CHECK: RECURSE foo diff --git a/test/TableGen/usevalname.td b/test/TableGen/usevalname.td index d85b98ac33e6..a80ba12869e0 100644 --- a/test/TableGen/usevalname.td +++ b/test/TableGen/usevalname.td @@ -1,5 +1,4 @@ // RUN: llvm-tblgen %s | FileCheck %s -// XFAIL: vg_leak class Instr<list<dag> pat> { list<dag> Pattern = pat; |
