[Openmp-commits] [openmp] 935abea - OpenMP: Correctly query location for amdgpu-arch

Matt Arsenault via Openmp-commits openmp-commits at lists.llvm.org
Mon Nov 29 13:31:43 PST 2021


Author: Matt Arsenault
Date: 2021-11-29T16:31:32-05:00
New Revision: 935abeaace123e5f11792a5175079d974d0a0be8

URL: https://github.com/llvm/llvm-project/commit/935abeaace123e5f11792a5175079d974d0a0be8
DIFF: https://github.com/llvm/llvm-project/commit/935abeaace123e5f11792a5175079d974d0a0be8.diff

LOG: OpenMP: Correctly query location for amdgpu-arch

This was trying to figure out the build path for amdgpu-arch, and
making assumptions about where it is which were not working on my
system. Whether a standalone build or not, we should have a proper
imported target to get the location from.

Added: 
    

Modified: 
    openmp/libomptarget/plugins/amdgpu/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt b/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt
index 0b830f631e904..a7cca99c51717 100644
--- a/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt
+++ b/openmp/libomptarget/plugins/amdgpu/CMakeLists.txt
@@ -98,27 +98,20 @@ target_link_libraries(
   ${LDFLAGS_UNDEFINED}
   )
 
-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}")
+if (NOT TARGET amdgpu-arch)
   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)
+get_property(AMDGPU_ARCH_COMMAND TARGET amdgpu-arch PROPERTY LOCATION)
+
+execute_process(COMMAND ${AMDGPU_ARCH_COMMAND} 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()
+else()
+  # 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)
 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)


        


More information about the Openmp-commits mailing list