forked from OSchip/llvm-project
[MLIR] Fix checks for native arch
Using if (TARGET ${LLVM_NATIVE_ARCH}) only works if MLIR is built together with LLVM, but not for standalone builds of MLIR. The correct way to check this is if (${LLVM_NATIVE_ARCH} IN_LIST LLVM_TARGETS_TO_BUILD), as the LLVM build system exports LLVM_TARGETS_TO_BUILD. To avoid repeating the same check many times, add a MLIR_ENABLE_EXECUTION_ENGINE variable. Differential Revision: https://reviews.llvm.org/D131071
This commit is contained in:
parent
7ce321e5b0
commit
57a9bccec7
|
@ -86,9 +86,16 @@ set_target_properties(mlir-headers PROPERTIES FOLDER "Misc")
|
|||
add_dependencies(mlir-headers mlir-generic-headers)
|
||||
add_custom_target(mlir-doc)
|
||||
|
||||
# Only enable execution engine if the native target is available.
|
||||
if(${LLVM_NATIVE_ARCH} IN_LIST LLVM_TARGETS_TO_BUILD)
|
||||
set(MLIR_ENABLE_EXECUTION_ENGINE 1)
|
||||
else()
|
||||
set(MLIR_ENABLE_EXECUTION_ENGINE 0)
|
||||
endif()
|
||||
|
||||
# Build the CUDA conversions and run according tests if the NVPTX backend
|
||||
# is available
|
||||
if ("NVPTX" IN_LIST LLVM_TARGETS_TO_BUILD)
|
||||
if ("NVPTX" IN_LIST LLVM_TARGETS_TO_BUILD AND MLIR_ENABLE_EXECUTION_ENGINE)
|
||||
set(MLIR_ENABLE_CUDA_CONVERSIONS 1)
|
||||
else()
|
||||
set(MLIR_ENABLE_CUDA_CONVERSIONS 0)
|
||||
|
@ -97,8 +104,8 @@ endif()
|
|||
add_definitions(-DMLIR_CUDA_CONVERSIONS_ENABLED=${MLIR_ENABLE_CUDA_CONVERSIONS})
|
||||
|
||||
# Build the ROCm conversions and run according tests if the AMDGPU backend
|
||||
# is available
|
||||
if ("AMDGPU" IN_LIST LLVM_TARGETS_TO_BUILD)
|
||||
# is available.
|
||||
if ("AMDGPU" IN_LIST LLVM_TARGETS_TO_BUILD AND MLIR_ENABLE_EXECUTION_ENGINE)
|
||||
set(MLIR_ENABLE_ROCM_CONVERSIONS 1)
|
||||
else()
|
||||
set(MLIR_ENABLE_ROCM_CONVERSIONS 0)
|
||||
|
|
|
@ -15,8 +15,7 @@ add_subdirectory(IR)
|
|||
add_subdirectory(RegisterEverything)
|
||||
add_subdirectory(Transforms)
|
||||
|
||||
# Only enable the ExecutionEngine if the native target is configured in.
|
||||
if(TARGET ${LLVM_NATIVE_ARCH})
|
||||
if(MLIR_ENABLE_EXECUTION_ENGINE)
|
||||
add_subdirectory(ExecutionEngine)
|
||||
endif()
|
||||
|
||||
|
|
|
@ -39,8 +39,7 @@ add_mlir_library(MLIRExecutionEngineUtils
|
|||
Passes
|
||||
)
|
||||
|
||||
# Only enable the ExecutionEngine if the native target is configured in.
|
||||
if(NOT TARGET ${LLVM_NATIVE_ARCH})
|
||||
if(NOT MLIR_ENABLE_EXECUTION_ENGINE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
|
|
|
@ -363,8 +363,7 @@ declare_mlir_python_extension(MLIRPythonExtension.AsyncDialectPasses
|
|||
MLIRCAPIAsync
|
||||
)
|
||||
|
||||
# Only enable the ExecutionEngine if the native target is configured in.
|
||||
if(TARGET ${LLVM_NATIVE_ARCH})
|
||||
if(MLIR_ENABLE_EXECUTION_ENGINE)
|
||||
declare_mlir_python_extension(MLIRPythonExtension.ExecutionEngine
|
||||
MODULE_NAME _mlirExecutionEngine
|
||||
ADD_TO_PARENT MLIRPythonSources.ExecutionEngine
|
||||
|
|
|
@ -19,8 +19,7 @@ function(_add_capi_test_executable name)
|
|||
endif()
|
||||
endfunction(_add_capi_test_executable)
|
||||
|
||||
# Only enable the ExecutionEngine if the native target is configured in.
|
||||
if(TARGET ${LLVM_NATIVE_ARCH})
|
||||
if(MLIR_ENABLE_EXECUTION_ENGINE)
|
||||
_add_capi_test_executable(mlir-capi-execution-engine-test
|
||||
execution_engine.c
|
||||
LINK_LIBS PRIVATE
|
||||
|
|
|
@ -40,7 +40,7 @@ if (MLIR_INCLUDE_INTEGRATION_TESTS)
|
|||
|
||||
|
||||
# The native target may not be enabled when cross compiling, raise an error.
|
||||
if(NOT TARGET ${LLVM_NATIVE_ARCH})
|
||||
if(NOT MLIR_ENABLE_EXECUTION_ENGINE)
|
||||
message(FATAL_ERROR "MLIR_INCLUDE_INTEGRATION_TESTS requires a native target")
|
||||
endif()
|
||||
|
||||
|
|
|
@ -9,8 +9,7 @@ add_subdirectory(mlir-translate)
|
|||
add_subdirectory(mlir-vulkan-runner)
|
||||
add_subdirectory(tblgen-lsp-server)
|
||||
|
||||
# mlir-cpu-runner requires ExecutionEngine which is only built
|
||||
# when the native target is configured in.
|
||||
if(TARGET ${LLVM_NATIVE_ARCH})
|
||||
# mlir-cpu-runner requires ExecutionEngine.
|
||||
if(MLIR_ENABLE_EXECUTION_ENGINE)
|
||||
add_subdirectory(mlir-cpu-runner)
|
||||
endif()
|
||||
|
|
|
@ -16,7 +16,6 @@ add_subdirectory(Rewrite)
|
|||
add_subdirectory(TableGen)
|
||||
add_subdirectory(Transforms)
|
||||
|
||||
# The native target may not be enabled when cross compiling.
|
||||
if(TARGET ${LLVM_NATIVE_ARCH})
|
||||
if(MLIR_ENABLE_EXECUTION_ENGINE)
|
||||
add_subdirectory(ExecutionEngine)
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue