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