1get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
2get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS)
3set(LLVM_LINK_COMPONENTS
4  AllTargetsAsmParsers
5  AllTargetsCodeGens
6  AllTargetsDescs
7  AllTargetsInfos
8  AsmParser
9  Core
10  IRReader
11  Support
12  Target
13  TransformUtils
14  )
15
16if(MLIR_INCLUDE_TESTS)
17  set(test_libs
18    MLIRAffineTransformsTestPasses
19    MLIRSPIRVTestPasses
20    MLIRTestDialect
21    MLIRTestIR
22    MLIRTestPass
23    MLIRTestReducer
24    MLIRTestTransforms
25    )
26endif()
27
28set(LIBS
29  ${dialect_libs}
30  ${conversion_libs}
31  ${test_libs}
32  MLIRAnalysis
33  MLIRDialect
34  MLIREDSC
35  MLIRIR
36  MLIRLoopAnalysis
37  MLIROptLib
38  MLIRParser
39  MLIRPass
40  MLIRReduce
41  MLIRSupport
42  MLIRTransforms
43  MLIRTransformUtils
44  )
45
46add_llvm_tool(mlir-reduce
47  OptReductionPass.cpp
48  Passes/OpReducer.cpp
49  ReductionNode.cpp
50  ReductionTreeUtils.cpp
51  mlir-reduce.cpp
52
53  ADDITIONAL_HEADER_DIRS
54  ${MLIR_MAIN_INCLUDE_DIR}/mlir/Reducer
55
56  DEPENDS
57  MLIRReducerIncGen
58  )
59
60target_link_libraries(mlir-reduce PRIVATE ${LIBS})
61llvm_update_compile_flags(mlir-reduce)
62
63mlir_check_all_link_libraries(mlir-reduce)
64