[mlir][acc] Introduce MappableType interface (#122146)
[llvm-project.git] / llvm / test / TableGen / GlobalISelCombinerEmitter / misc / redundant-combine-in-list.td
blobda38a228f672b0ff4a26beb1216fbb2f85d128af
1 // RUN: llvm-tblgen -I %p/../../../../include -gen-global-isel-combiner \
2 // RUN:     -combiners=Combiner %s 2>&1 | FileCheck %s
4 include "llvm/Target/Target.td"
5 include "llvm/Target/GlobalISel/Combine.td"
7 // Check we don't crash if a combine is present twice in the list.
9 def MyTargetISA : InstrInfo;
10 def MyTarget : Target { let InstructionSet = MyTargetISA; }
12 def dummy;
14 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: warning: skipping rule 'Foo' because it has already been processed
15 def Foo : GICombineRule<
16   (defs root:$root),
17   (match (G_ZEXT $root, $x)),
18   (apply (G_TRUNC $root, $x))>;
20 def Bar : GICombineRule<
21   (defs root:$root),
22   (match (G_TRUNC $root, $x)),
23   (apply (G_ZEXT $root, $x))>;
25 def FooBar : GICombineGroup<[ Foo, Bar ]>;
27 def Combiner: GICombiner<"GenMyCombiner", [
28   FooBar,
29   Foo
30 ]>;