[clang] [clang-tools-extra] [Clang] Use TargetInfo when deciding is an address space is compatible (PR #115777)
John McCall via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 13 16:32:44 PST 2024
================
@@ -17,34 +17,34 @@
#include "clang/Basic/TargetInfo.h"
#include "clang/Basic/TargetOptions.h"
#include "llvm/Support/Compiler.h"
+#include "llvm/Support/NVPTXAddrSpace.h"
#include "llvm/TargetParser/Triple.h"
#include <optional>
namespace clang {
namespace targets {
static const unsigned NVPTXAddrSpaceMap[] = {
- 0, // Default
- 1, // opencl_global
- 3, // opencl_local
- 4, // opencl_constant
- 0, // opencl_private
- // FIXME: generic has to be added to the target
- 0, // opencl_generic
- 1, // opencl_global_device
- 1, // opencl_global_host
- 1, // cuda_device
- 4, // cuda_constant
- 3, // cuda_shared
- 1, // sycl_global
- 1, // sycl_global_device
- 1, // sycl_global_host
- 3, // sycl_local
- 0, // sycl_private
- 0, // ptr32_sptr
- 0, // ptr32_uptr
- 0, // ptr64
- 0, // hlsl_groupshared
+ llvm::NVPTXAS::ADDRESS_SPACE_GENERIC, // Default
+ llvm::NVPTXAS::ADDRESS_SPACE_GLOBAL, // opencl_global
+ llvm::NVPTXAS::ADDRESS_SPACE_SHARED, // opencl_local
+ llvm::NVPTXAS::ADDRESS_SPACE_CONST, // opencl_constant
+ llvm::NVPTXAS::ADDRESS_SPACE_GENERIC, // opencl_private
+ llvm::NVPTXAS::ADDRESS_SPACE_GENERIC, // opencl_generic
+ llvm::NVPTXAS::ADDRESS_SPACE_GLOBAL, // opencl_global_device
+ llvm::NVPTXAS::ADDRESS_SPACE_GLOBAL, // opencl_global_host
+ llvm::NVPTXAS::ADDRESS_SPACE_GLOBAL, // cuda_device
+ llvm::NVPTXAS::ADDRESS_SPACE_CONST, // cuda_constant
+ llvm::NVPTXAS::ADDRESS_SPACE_SHARED, // cuda_shared
+ llvm::NVPTXAS::ADDRESS_SPACE_GLOBAL, // sycl_global
+ llvm::NVPTXAS::ADDRESS_SPACE_GLOBAL, // sycl_global_device
+ llvm::NVPTXAS::ADDRESS_SPACE_GLOBAL, // sycl_global_host
+ llvm::NVPTXAS::ADDRESS_SPACE_SHARED, // sycl_local
+ llvm::NVPTXAS::ADDRESS_SPACE_GENERIC, // sycl_private
+ llvm::NVPTXAS::ADDRESS_SPACE_GENERIC, // ptr32_sptr
+ llvm::NVPTXAS::ADDRESS_SPACE_GENERIC, // ptr32_uptr
+ llvm::NVPTXAS::ADDRESS_SPACE_GENERIC, // ptr64
+ llvm::NVPTXAS::ADDRESS_SPACE_GENERIC, // hlsl_groupshared
----------------
rjmccall wrote:
Would you mind staging this as multiple PRs? One can be the refactor, which should be NFC, and then you can add the new AMDGPU and NVPTX logic in follow-up commits.
https://github.com/llvm/llvm-project/pull/115777
More information about the cfe-commits
mailing list