Author: Fraser Cormack
Date: 2025-04-29T14:14:00+01:00
New Revision: 1e31f4b5eb96de3080810340c9083138a34587b8

URL: 
https://github.com/llvm/llvm-project/commit/1e31f4b5eb96de3080810340c9083138a34587b8
DIFF: 
https://github.com/llvm/llvm-project/commit/1e31f4b5eb96de3080810340c9083138a34587b8.diff

LOG: [AMDGPU] Support the OpenCL generic addrspace feature by default (#137636)

This feature should be supported on AMDGCN architectures with flat
addressing.

Added: 
    

Modified: 
    clang/lib/Basic/Targets/AMDGPU.h
    clang/test/Misc/amdgcn.languageOptsOpenCL.cl
    clang/test/Misc/r600.languageOptsOpenCL.cl

Removed: 
    


################################################################################
diff  --git a/clang/lib/Basic/Targets/AMDGPU.h 
b/clang/lib/Basic/Targets/AMDGPU.h
index 63b0d4b6e5fc0..8ea544ba28b10 100644
--- a/clang/lib/Basic/Targets/AMDGPU.h
+++ b/clang/lib/Basic/Targets/AMDGPU.h
@@ -318,6 +318,9 @@ class LLVM_LIBRARY_VISIBILITY AMDGPUTargetInfo final : 
public TargetInfo {
       Opts["__opencl_c_images"] = true;
       Opts["__opencl_c_3d_image_writes"] = true;
       Opts["cl_khr_3d_image_writes"] = true;
+
+      Opts["__opencl_c_generic_address_space"] =
+          GPUKind >= llvm::AMDGPU::GK_GFX700;
     }
   }
 

diff  --git a/clang/test/Misc/amdgcn.languageOptsOpenCL.cl 
b/clang/test/Misc/amdgcn.languageOptsOpenCL.cl
index 186cdae0494c6..50c78d70b83d9 100644
--- a/clang/test/Misc/amdgcn.languageOptsOpenCL.cl
+++ b/clang/test/Misc/amdgcn.languageOptsOpenCL.cl
@@ -155,3 +155,11 @@
 #endif
 #pragma OPENCL EXTENSION cl_amd_media_ops2: enable
 
+#if (__OPENCL_C_VERSION__ >= 300)
+#ifndef __opencl_c_generic_address_space
+#error "Missing __opencl_c_generic_address_space define"
+#else
+#error "Incorrect __opencl_c_generic_address_space define"
+#endif
+#pragma OPENCL EXTENSION __opencl_c_generic_address_space: enable
+#endif

diff  --git a/clang/test/Misc/r600.languageOptsOpenCL.cl 
b/clang/test/Misc/r600.languageOptsOpenCL.cl
index 600c49f4ed692..27a7691d53575 100644
--- a/clang/test/Misc/r600.languageOptsOpenCL.cl
+++ b/clang/test/Misc/r600.languageOptsOpenCL.cl
@@ -146,3 +146,8 @@
 #pragma OPENCL EXTENSION cl_khr_subgroups: enable
 // expected-warning@-1{{unsupported OpenCL extension 'cl_khr_subgroups' - 
ignoring}}
 
+#ifdef __opencl_c_generic_address_space
+#error "Incorrect __opencl_c_generic_address_space define"
+#endif
+#pragma OPENCL EXTENSION __opencl_c_generic_address_space: enable
+// expected-warning@-1{{OpenCL extension '__opencl_c_generic_address_space' 
unknown or does not require pragma - ignoring}}


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to