| get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) |
| get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS) |
| |
| include_directories(${LLVM_MAIN_SRC_DIR}/../mlir/include) |
| include_directories(${CMAKE_BINARY_DIR}/tools/mlir/include) |
| |
| # GCC, unlike clang, issues a warning when one virtual function is overridden |
| # in a derived class but one or more other virtual functions with the same |
| # name and different signature from a base class are not overridden. This |
| # leads to many warnings in the MLIR and ClangIR code when using the |
| # OpenConversionPattern<>::matchAndRewrite() function in the ordinary way. |
| # The "hiding" behavior is what we want, so we're just disabling the warning |
| # here. |
| if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND (NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")) |
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-overloaded-virtual") |
| endif() |
| |
| add_clang_tool(cir-opt |
| cir-opt.cpp |
| ) |
| |
| clang_target_link_libraries(cir-opt |
| PRIVATE |
| clangCIR |
| clangCIRLoweringDirectToLLVM |
| MLIRCIR |
| MLIRCIRTransforms |
| ) |
| |
| target_link_libraries(cir-opt |
| PRIVATE |
| ${dialect_libs} |
| ${conversion_libs} |
| MLIRAnalysis |
| MLIRDialect |
| MLIRIR |
| MLIRMemRefDialect |
| MLIROptLib |
| MLIRParser |
| MLIRPass |
| MLIRSideEffectInterfaces |
| MLIRTransforms |
| MLIRTransformUtils |
| ) |