xref: /llvm-project/mlir/test/lib/Dialect/Test/CMakeLists.txt (revision 047e8e47c1f9d872aec835b915935802e195c555)
1set(LLVM_OPTIONAL_SOURCES
2  TestDialect.cpp
3  TestPatterns.cpp
4  TestTraits.cpp
5  TestFromLLVMIRTranslation.cpp
6  TestToLLVMIRTranslation.cpp
7)
8
9set(LLVM_TARGET_DEFINITIONS TestInterfaces.td)
10mlir_tablegen(TestAttrInterfaces.h.inc -gen-attr-interface-decls)
11mlir_tablegen(TestAttrInterfaces.cpp.inc -gen-attr-interface-defs)
12mlir_tablegen(TestTypeInterfaces.h.inc -gen-type-interface-decls)
13mlir_tablegen(TestTypeInterfaces.cpp.inc -gen-type-interface-defs)
14mlir_tablegen(TestOpInterfaces.h.inc -gen-op-interface-decls)
15mlir_tablegen(TestOpInterfaces.cpp.inc -gen-op-interface-defs)
16add_public_tablegen_target(MLIRTestInterfaceIncGen)
17
18set(LLVM_TARGET_DEFINITIONS TestOps.td)
19mlir_tablegen(TestAttrDefs.h.inc -gen-attrdef-decls -attrdefs-dialect=test)
20mlir_tablegen(TestAttrDefs.cpp.inc -gen-attrdef-defs -attrdefs-dialect=test)
21add_public_tablegen_target(MLIRTestAttrDefIncGen)
22
23set(LLVM_TARGET_DEFINITIONS TestTypeDefs.td)
24mlir_tablegen(TestTypeDefs.h.inc -gen-typedef-decls -typedefs-dialect=test)
25mlir_tablegen(TestTypeDefs.cpp.inc -gen-typedef-defs -typedefs-dialect=test)
26add_public_tablegen_target(MLIRTestTypeDefIncGen)
27
28set(LLVM_TARGET_DEFINITIONS TestEnumDefs.td)
29mlir_tablegen(TestOpEnums.h.inc -gen-enum-decls)
30mlir_tablegen(TestOpEnums.cpp.inc -gen-enum-defs)
31add_public_tablegen_target(MLIRTestEnumDefIncGen)
32
33set(LLVM_TARGET_DEFINITIONS TestOps.td)
34mlir_tablegen(TestOpsDialect.h.inc -gen-dialect-decls -dialect=test)
35mlir_tablegen(TestOpsDialect.cpp.inc -gen-dialect-defs -dialect=test)
36mlir_tablegen(TestPatterns.inc -gen-rewriters)
37add_public_tablegen_target(MLIRTestOpsIncGen)
38
39set(LLVM_TARGET_DEFINITIONS TestOpsSyntax.td)
40mlir_tablegen(TestOpsSyntax.h.inc -gen-op-decls)
41mlir_tablegen(TestOpsSyntax.cpp.inc -gen-op-defs)
42add_public_tablegen_target(MLIRTestOpsSyntaxIncGen)
43
44add_sharded_ops(TestOps 20)
45
46# Exclude tests from libMLIR.so
47add_mlir_library(MLIRTestDialect
48  TestAttributes.cpp
49  TestDialect.cpp
50  TestFormatUtils.cpp
51  TestInterfaces.cpp
52  TestOpDefs.cpp
53  TestOps.cpp
54  TestPatterns.cpp
55  TestTraits.cpp
56  TestTypes.cpp
57  TestOpsSyntax.cpp
58  TestDialectInterfaces.cpp
59  ${SHARDED_SRCS}
60
61  EXCLUDE_FROM_LIBMLIR
62
63  DEPENDS
64  MLIRTestAttrDefIncGen
65  MLIRTestEnumDefIncGen
66  MLIRTestInterfaceIncGen
67  MLIRTestTypeDefIncGen
68  MLIRTestOpsIncGen
69  MLIRTestOpsSyntaxIncGen
70  MLIRTestOpsShardGen
71  )
72mlir_target_link_libraries(MLIRTestDialect PUBLIC
73  MLIRControlFlowInterfaces
74  MLIRDataLayoutInterfaces
75  MLIRDerivedAttributeOpInterface
76  MLIRDestinationStyleOpInterface
77  MLIRDialect
78  MLIRDLTIDialect
79  MLIRFuncDialect
80  MLIRFunctionInterfaces
81  MLIRFuncTransforms
82  MLIRIR
83  MLIRInferIntRangeInterface
84  MLIRInferTypeOpInterface
85  MLIRLinalgDialect
86  MLIRLinalgTransforms
87  MLIRLLVMDialect
88  MLIRPass
89  MLIRPolynomialDialect
90  MLIRReduce
91  MLIRTensorDialect
92  MLIRTransformUtils
93  MLIRTransforms
94  MLIRValueBoundsOpInterface
95)
96
97add_mlir_translation_library(MLIRTestFromLLVMIRTranslation
98  TestFromLLVMIRTranslation.cpp
99
100  EXCLUDE_FROM_LIBMLIR
101
102  LINK_COMPONENTS
103  Core
104
105  LINK_LIBS PUBLIC
106  MLIRIR
107  MLIRLLVMDialect
108  MLIRTestDialect
109  MLIRSupport
110  MLIRTargetLLVMIRImport
111  MLIRLLVMIRToLLVMTranslation
112)
113
114add_mlir_translation_library(MLIRTestToLLVMIRTranslation
115  TestToLLVMIRTranslation.cpp
116
117  EXCLUDE_FROM_LIBMLIR
118
119  LINK_COMPONENTS
120  Core
121
122  LINK_LIBS PUBLIC
123  MLIRIR
124  MLIRLLVMDialect
125  MLIRTestDialect
126  MLIRSupport
127  MLIRBuiltinToLLVMIRTranslation
128  MLIRLLVMToLLVMIRTranslation
129)
130