llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang @llvm/pr-subscribers-backend-amdgpu Author: Wenju He (wenju-he) <details> <summary>Changes</summary> I'd like to use this extension in our downstream SYCL compiler to implement the __clc__group_scratch helper function, allowing us to replace .ll files with .cl files for the two targets: https://github.com/intel/llvm/blob/sycl/libclc/libspirv/lib/amdgcn-amdhsa/group/collectives_helpers.ll https://github.com/intel/llvm/blob/sycl/libclc/libspirv/lib/ptx-nvidiacl/group/collectives_helpers.ll --- Full diff: https://github.com/llvm/llvm-project/pull/183892.diff 4 Files Affected: - (modified) clang/lib/Basic/Targets/AMDGPU.h (+1) - (modified) clang/lib/Basic/Targets/NVPTX.h (+1) - (modified) clang/test/Misc/amdgcn.languageOptsOpenCL.cl (+5) - (modified) clang/test/Misc/nvptx.languageOptsOpenCL.cl (+5) ``````````diff diff --git a/clang/lib/Basic/Targets/AMDGPU.h b/clang/lib/Basic/Targets/AMDGPU.h index 35bca74505b37..08ccc668f78b6 100644 --- a/clang/lib/Basic/Targets/AMDGPU.h +++ b/clang/lib/Basic/Targets/AMDGPU.h @@ -302,6 +302,7 @@ class LLVM_LIBRARY_VISIBILITY AMDGPUTargetInfo final : public TargetInfo { Opts["cl_clang_storage_class_specifiers"] = true; Opts["__cl_clang_variadic_functions"] = true; Opts["__cl_clang_function_pointers"] = true; + Opts["__cl_clang_function_scope_local_variables"] = true; Opts["__cl_clang_non_portable_kernel_param_types"] = true; Opts["__cl_clang_bitfields"] = true; diff --git a/clang/lib/Basic/Targets/NVPTX.h b/clang/lib/Basic/Targets/NVPTX.h index 9bd0cc36d12b4..35fff8d0aa9e6 100644 --- a/clang/lib/Basic/Targets/NVPTX.h +++ b/clang/lib/Basic/Targets/NVPTX.h @@ -165,6 +165,7 @@ class LLVM_LIBRARY_VISIBILITY NVPTXTargetInfo : public TargetInfo { Opts["cl_clang_storage_class_specifiers"] = true; Opts["__cl_clang_function_pointers"] = true; Opts["__cl_clang_variadic_functions"] = true; + Opts["__cl_clang_function_scope_local_variables"] = true; Opts["__cl_clang_non_portable_kernel_param_types"] = true; Opts["__cl_clang_bitfields"] = true; diff --git a/clang/test/Misc/amdgcn.languageOptsOpenCL.cl b/clang/test/Misc/amdgcn.languageOptsOpenCL.cl index ee33f86080e82..fd42912854020 100644 --- a/clang/test/Misc/amdgcn.languageOptsOpenCL.cl +++ b/clang/test/Misc/amdgcn.languageOptsOpenCL.cl @@ -30,6 +30,11 @@ #endif #pragma OPENCL EXTENSION __cl_clang_variadic_functions : enable +#ifndef __cl_clang_function_scope_local_variables +#error "Missing __cl_clang_function_scope_local_variables define" +#endif +#pragma OPENCL EXTENSION __cl_clang_function_scope_local_variables : enable + #ifndef __cl_clang_non_portable_kernel_param_types #error "Missing __cl_clang_non_portable_kernel_param_types define" #endif diff --git a/clang/test/Misc/nvptx.languageOptsOpenCL.cl b/clang/test/Misc/nvptx.languageOptsOpenCL.cl index 2610cfafc257b..3182ed534a504 100644 --- a/clang/test/Misc/nvptx.languageOptsOpenCL.cl +++ b/clang/test/Misc/nvptx.languageOptsOpenCL.cl @@ -28,6 +28,11 @@ #endif #pragma OPENCL EXTENSION __cl_clang_variadic_functions : enable +#ifndef __cl_clang_function_scope_local_variables +#error "Missing __cl_clang_function_scope_local_variables define" +#endif +#pragma OPENCL EXTENSION __cl_clang_function_scope_local_variables : enable + #ifndef __cl_clang_non_portable_kernel_param_types #error "Missing __cl_clang_non_portable_kernel_param_types define" #endif `````````` </details> https://github.com/llvm/llvm-project/pull/183892 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
