https://github.com/wenju-he created https://github.com/llvm/llvm-project/pull/146298
They are generally implemented with pointer comparison. Volatile is not needed because memory pointed to by the pointer isn't accessed. >From f77e5b48204609cb9b0c1c4dd6684de013be5008 Mon Sep 17 00:00:00 2001 From: Wenju He <wenju...@intel.com> Date: Mon, 30 Jun 2025 09:37:24 +0800 Subject: [PATCH] [clang][SPIRV] Remove volatile variants of GenericCastToPtr* built-ins They are generally implemented with pointer comparison. Volatile is not needed because memory pointed to by the pointer isn't accessed. --- clang/lib/Headers/__clang_spirv_builtins.h | 60 ---------------------- 1 file changed, 60 deletions(-) diff --git a/clang/lib/Headers/__clang_spirv_builtins.h b/clang/lib/Headers/__clang_spirv_builtins.h index e344ed52571a7..c210609ad5973 100644 --- a/clang/lib/Headers/__clang_spirv_builtins.h +++ b/clang/lib/Headers/__clang_spirv_builtins.h @@ -56,16 +56,6 @@ __spirv_GenericCastToPtrExplicit_ToGlobal(__generic const void *, int) __SPIRV_NOEXCEPT; extern __SPIRV_overloadable __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit) -__global volatile void * -__spirv_GenericCastToPtrExplicit_ToGlobal(__generic volatile void *, - int) __SPIRV_NOEXCEPT; -extern __SPIRV_overloadable -__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit) -__global const volatile void * -__spirv_GenericCastToPtrExplicit_ToGlobal(__generic const volatile void *, - int) __SPIRV_NOEXCEPT; -extern __SPIRV_overloadable -__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit) __local void *__spirv_GenericCastToPtrExplicit_ToLocal(__generic void *, int) __SPIRV_NOEXCEPT; extern __SPIRV_overloadable @@ -75,16 +65,6 @@ __spirv_GenericCastToPtrExplicit_ToLocal(__generic const void *, int) __SPIRV_NOEXCEPT; extern __SPIRV_overloadable __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit) -__local volatile void * -__spirv_GenericCastToPtrExplicit_ToLocal(__generic volatile void *, - int) __SPIRV_NOEXCEPT; -extern __SPIRV_overloadable -__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit) -__local const volatile void * -__spirv_GenericCastToPtrExplicit_ToLocal(__generic const volatile void *, - int) __SPIRV_NOEXCEPT; -extern __SPIRV_overloadable -__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit) __private void * __spirv_GenericCastToPtrExplicit_ToPrivate(__generic void *, int) __SPIRV_NOEXCEPT; @@ -93,16 +73,6 @@ __SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit) __private const void * __spirv_GenericCastToPtrExplicit_ToPrivate(__generic const void *, int) __SPIRV_NOEXCEPT; -extern __SPIRV_overloadable -__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit) -__private volatile void * -__spirv_GenericCastToPtrExplicit_ToPrivate(__generic volatile void *, - int) __SPIRV_NOEXCEPT; -extern __SPIRV_overloadable -__SPIRV_BUILTIN_ALIAS(__builtin_spirv_generic_cast_to_ptr_explicit) -__private const volatile void * -__spirv_GenericCastToPtrExplicit_ToPrivate(__generic const volatile void *, - int) __SPIRV_NOEXCEPT; // OpGenericCastToPtr @@ -115,16 +85,6 @@ __spirv_GenericCastToPtr_ToGlobal(__generic const void *p, int) __SPIRV_NOEXCEPT { return (__global const void *)p; } -static __SPIRV_overloadable __SPIRV_inline __global volatile void * -__spirv_GenericCastToPtr_ToGlobal(__generic volatile void *p, - int) __SPIRV_NOEXCEPT { - return (__global volatile void *)p; -} -static __SPIRV_overloadable __SPIRV_inline __global const volatile void * -__spirv_GenericCastToPtr_ToGlobal(__generic const volatile void *p, - int) __SPIRV_NOEXCEPT { - return (__global const volatile void *)p; -} static __SPIRV_overloadable __SPIRV_inline __local void * __spirv_GenericCastToPtr_ToLocal(__generic void *p, int) __SPIRV_NOEXCEPT { return (__local void *)p; @@ -134,16 +94,6 @@ __spirv_GenericCastToPtr_ToLocal(__generic const void *p, int) __SPIRV_NOEXCEPT { return (__local const void *)p; } -static __SPIRV_overloadable __SPIRV_inline __local volatile void * -__spirv_GenericCastToPtr_ToLocal(__generic volatile void *p, - int) __SPIRV_NOEXCEPT { - return (__local volatile void *)p; -} -static __SPIRV_overloadable __SPIRV_inline __local const volatile void * -__spirv_GenericCastToPtr_ToLocal(__generic const volatile void *p, - int) __SPIRV_NOEXCEPT { - return (__local const volatile void *)p; -} static __SPIRV_overloadable __SPIRV_inline __private void * __spirv_GenericCastToPtr_ToPrivate(__generic void *p, int) __SPIRV_NOEXCEPT { return (__private void *)p; @@ -153,16 +103,6 @@ __spirv_GenericCastToPtr_ToPrivate(__generic const void *p, int) __SPIRV_NOEXCEPT { return (__private const void *)p; } -static __SPIRV_overloadable __SPIRV_inline __private volatile void * -__spirv_GenericCastToPtr_ToPrivate(__generic volatile void *p, - int) __SPIRV_NOEXCEPT { - return (__private volatile void *)p; -} -static __SPIRV_overloadable __SPIRV_inline __private const volatile void * -__spirv_GenericCastToPtr_ToPrivate(__generic const volatile void *p, - int) __SPIRV_NOEXCEPT { - return (__private const volatile void *)p; -} #undef __SPIRV_overloadable #undef __SPIRV_convergent _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits