set(LLVM_OPTIONAL_SOURCES
null.cpp
)
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS)
get_property(extension_libs GLOBAL PROPERTY MLIR_EXTENSION_LIBS)
set(LLVM_LINK_COMPONENTS
Core
Support
AsmParser
)
if(MLIR_INCLUDE_TESTS)
set(test_libs
${cuda_test_libs}
MLIRTestFuncToLLVM
MLIRAffineTransformsTestPasses
MLIRArithTestPasses
MLIRArmNeonTestPasses
MLIRArmSMETestPasses
MLIRBufferizationTestPasses
MLIRControlFlowTestPasses
MLIRDLTITestPasses
MLIRFuncTestPasses
MLIRGPUTestPasses
MLIRLinalgTestPasses
MLIRLoopLikeInterfaceTestPasses
MLIRMathTestPasses
MLIRTestMathToVCIX
MLIRMemRefTestPasses
MLIRMeshTest
MLIRNVGPUTestPasses
MLIRSCFTestPasses
MLIRShapeTestPasses
MLIRSPIRVTestPasses
MLIRTensorTestPasses
MLIRTestAnalysis
MLIRTestConvertToSPIRV
MLIRTestDialect
MLIRTestDynDialect
MLIRTestIR
MLIRTestOneToNTypeConversionPass
MLIRTestPass
MLIRTestReducer
MLIRTestTransforms
MLIRTilingInterfaceTestPasses
MLIRVectorTestPasses
MLIRTestVectorToSPIRV
MLIRLLVMTestPasses
)
set(test_libs ${test_libs}
MLIRTestPDLL
MLIRTestTransformDialect
)
if (MLIR_ENABLE_PDL_IN_PATTERNMATCH)
set(test_libs ${test_libs}
MLIRTestPDLL
MLIRTestRewrite
)
endif()
endif()
set(LIBS
${dialect_libs}
${conversion_libs}
${extension_libs}
${test_libs}
MLIRAffineAnalysis
MLIRAnalysis
MLIRCastInterfaces
MLIRDialect
MLIROptLib
MLIRParser
MLIRPass
MLIRTransforms
MLIRTransformUtils
MLIRSupport
MLIRIR
# TODO: Remove when registerAllGPUToLLVMIRTranslations is no longer
# registered directly in mlir-opt.cpp.
MLIRToLLVMIRTranslationRegistration
)
# Exclude from libMLIR.so because this has static options intended for
# opt-like tools only.
add_mlir_library(MLIRMlirOptMain
mlir-opt.cpp
EXCLUDE_FROM_LIBMLIR
LINK_LIBS PUBLIC
${LIBS}
)
add_mlir_tool(mlir-opt
mlir-opt.cpp
DEPENDS
${LIBS}
SUPPORT_PLUGINS
)
target_link_libraries(mlir-opt PRIVATE ${LIBS})
llvm_update_compile_flags(mlir-opt)
mlir_check_all_link_libraries(mlir-opt)
export_executable_symbols_for_plugins(mlir-opt)