From 9586937ef513b5b9b134322c6c81dcdd03ca784a Mon Sep 17 00:00:00 2001 From: Pushpinder Singh Date: Fri, 7 May 2021 08:15:49 +0000 Subject: [PATCH] [AMDGPU][OpenMP] Disable tests when amdgpu-arch fails This patch prevents runtime tests running on systems without amdgpu. Reviewed By: protze.joachim, tianshilei1992 Differential Revision: https://reviews.llvm.org/D102054 --- openmp/libomptarget/plugins/amdgpu/CMakeLists.txt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt b/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt index 43934b5..64c436d 100644 --- a/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt +++ b/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt @@ -80,6 +80,28 @@ target_link_libraries( "-Wl,-z,defs" ) +if (LLVM_BINARY_DIR) + # for in-tree build using LLVM_ENABLE_RUNTIMES + set(AMDGPU_ARCH_TOOL "${LLVM_BINARY_DIR}/bin/amdgpu-arch") +elseif (OPENMP_LLVM_TOOLS_DIR) + set(AMDGPU_ARCH_TOOL "${OPENMP_LLVM_TOOLS_DIR}/amdgpu-arch") +else() + set(AMDGPU_ARCH_TOOL "amdgpu-arch") +endif() + +# in case of amdgcn, skip running tests if amdgpu-arch was not built or fails +if (NOT EXISTS "${AMDGPU_ARCH_TOOL}") + libomptarget_say("Not generating amdgcn test targets as amdgpu-arch is not found") + return() +endif() + +execute_process(COMMAND "${AMDGPU_ARCH_TOOL}" RESULT_VARIABLE amdgpu_arch_result + OUTPUT_VARIABLE amdgpu_arch_output) +if (${amdgpu_arch_result}) + libomptarget_say("Not generating amdgcn test targets as amdgpu-arch exited with ${amdgpu_arch_result}") + return() +endif() + # Report to the parent scope that we are building a plugin for amdgpu set(LIBOMPTARGET_SYSTEM_TARGETS "${LIBOMPTARGET_SYSTEM_TARGETS} amdgcn-amd-amdhsa" PARENT_SCOPE) -- 2.7.4