================
@@ -288,18 +258,11 @@ function(compileDeviceRTLLibrary target_cpu target_name 
target_triple)
   endif()
 endfunction()
 
-# Generate a Bitcode library for all the gpu architectures the user requested.
-add_custom_target(omptarget.devicertl.nvptx)
 add_custom_target(omptarget.devicertl.amdgpu)
-foreach(gpu_arch ${LIBOMPTARGET_DEVICE_ARCHITECTURES})
-  if("${gpu_arch}" IN_LIST all_amdgpu_architectures)
-    compileDeviceRTLLibrary(${gpu_arch} amdgpu amdgcn-amd-amdhsa -Xclang 
-mcode-object-version=none)
-  elseif("${gpu_arch}" IN_LIST all_nvptx_architectures)
-    compileDeviceRTLLibrary(${gpu_arch} nvptx nvptx64-nvidia-cuda 
--cuda-feature=+ptx63)
-  else()
-    message(FATAL_ERROR "Unknown GPU architecture '${gpu_arch}'")
-  endif()
-endforeach()
+compileDeviceRTLLibrary(amdgpu amdgcn-amd-amdhsa -Xclang 
-mcode-object-version=none)
+
+add_custom_target(omptarget.devicertl.nvptx)
+compileDeviceRTLLibrary(nvptx nvptx64-nvidia-cuda --cuda-feature=+ptx63)
----------------
jhuber6 wrote:

I suppose that happens for the CPU  targets? Those aren't really used anywhere 
real, they're just for testing, but even so we probably shouldn't leave them 
broken. We link the device RTL unconditionally because the link step shouldn't 
need to know the architectures that were used to compile it. Because these are 
static libraries they're not extracted if they aren't needed, so it doesn't 
hurt anything if they're unused. But I guess you can have a situation where the 
user doesn't build this intentionally, but that's non-default behavior so I've 
never given it much thought.

https://github.com/llvm/llvm-project/pull/119091
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to