https://github.com/wenju-he updated https://github.com/llvm/llvm-project/pull/188023
>From 6814a6231114e20317fc3245e43b56f85e07934d Mon Sep 17 00:00:00 2001 From: Wenju He <[email protected]> Date: Mon, 23 Mar 2026 12:34:00 +0100 Subject: [PATCH 1/3] [libclc][NFC] Remove __CLC_BIT_INTN macro This macro was originally introduced in 64735ad63975 for relational built-ins. It is functionally identical to __CLC_S_GENTYPE. Replacing it simplifies gentype.inc, which is widely used in the library. --- libclc/clc/include/clc/math/gentype.inc | 39 ------------------- .../include/clc/relational/binary_decl.inc | 2 +- .../clc/include/clc/relational/unary_decl.inc | 2 +- .../lib/generic/atomic/clc_atomic_exchange.cl | 2 +- .../clc/lib/generic/atomic/clc_atomic_load.cl | 2 +- .../lib/generic/atomic/clc_atomic_store.cl | 2 +- libclc/clc/lib/generic/common/clc_sign.inc | 2 +- .../relational/relational_binary_def.inc | 2 +- .../relational/relational_unary_def.inc | 2 +- 9 files changed, 8 insertions(+), 47 deletions(-) diff --git a/libclc/clc/include/clc/math/gentype.inc b/libclc/clc/include/clc/math/gentype.inc index 6d83b062d3225..94030729d0075 100644 --- a/libclc/clc/include/clc/math/gentype.inc +++ b/libclc/clc/include/clc/math/gentype.inc @@ -56,7 +56,6 @@ #define __CLC_CONVERT_UINTN __CLC_XCONCAT(__clc_convert_, __CLC_UINTN) #define __CLC_CONVERT_ULONGN __CLC_XCONCAT(__clc_convert_, __CLC_ULONGN) -#define __CLC_CONVERT_BIT_INTN __CLC_XCONCAT(__clc_convert_, __CLC_BIT_INTN) // See definitions of __CLC_S_GENTYPE/__CLC_U_GENTYPE below, which depend on the // specific size of floating-point type. These are the signed and unsigned @@ -87,7 +86,6 @@ #define __CLC_GENTYPE float #define __CLC_BIT_INT int -#define __CLC_BIT_INTN int #define __CLC_SCALAR #define __CLC_VECSIZE #define __CLC_VECSIZE_OR_1 1 @@ -95,51 +93,40 @@ #undef __CLC_VECSIZE_OR_1 #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #undef __CLC_SCALAR #define __CLC_VECSIZE_OR_1 __CLC_VECSIZE #define __CLC_GENTYPE float2 -#define __CLC_BIT_INTN int2 #define __CLC_VECSIZE 2 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #define __CLC_GENTYPE float3 -#define __CLC_BIT_INTN int3 #define __CLC_VECSIZE 3 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #define __CLC_GENTYPE float4 -#define __CLC_BIT_INTN int4 #define __CLC_VECSIZE 4 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #define __CLC_GENTYPE float8 -#define __CLC_BIT_INTN int8 #define __CLC_VECSIZE 8 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #define __CLC_GENTYPE float16 -#define __CLC_BIT_INTN int16 #define __CLC_VECSIZE 16 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE #undef __CLC_BIT_INT -#undef __CLC_BIT_INTN #undef __CLC_VECSIZE_OR_1 #undef __CLC_U_GENTYPE @@ -174,56 +161,44 @@ #define __CLC_VECSIZE_OR_1 1 #define __CLC_GENTYPE double #define __CLC_BIT_INT long -#define __CLC_BIT_INTN long #include __CLC_BODY #undef __CLC_VECSIZE_OR_1 #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #undef __CLC_VECSIZE #undef __CLC_SCALAR #define __CLC_VECSIZE_OR_1 __CLC_VECSIZE #define __CLC_GENTYPE double2 -#define __CLC_BIT_INTN long2 #define __CLC_VECSIZE 2 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #define __CLC_GENTYPE double3 -#define __CLC_BIT_INTN long3 #define __CLC_VECSIZE 3 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #define __CLC_GENTYPE double4 -#define __CLC_BIT_INTN long4 #define __CLC_VECSIZE 4 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #define __CLC_GENTYPE double8 -#define __CLC_BIT_INTN long8 #define __CLC_VECSIZE 8 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #define __CLC_GENTYPE double16 -#define __CLC_BIT_INTN long16 #define __CLC_VECSIZE 16 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE #undef __CLC_BIT_INT -#undef __CLC_BIT_INTN #undef __CLC_VECSIZE_OR_1 #undef __CLC_U_GENTYPE @@ -258,10 +233,8 @@ #define __CLC_VECSIZE_OR_1 1 #define __CLC_GENTYPE half #define __CLC_BIT_INT short -#define __CLC_BIT_INTN short #include __CLC_BODY #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #undef __CLC_VECSIZE_OR_1 #undef __CLC_VECSIZE #undef __CLC_SCALAR @@ -269,45 +242,35 @@ #define __CLC_VECSIZE_OR_1 __CLC_VECSIZE #define __CLC_GENTYPE half2 -#define __CLC_BIT_INTN short2 #define __CLC_VECSIZE 2 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #define __CLC_GENTYPE half3 -#define __CLC_BIT_INTN short3 #define __CLC_VECSIZE 3 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #define __CLC_GENTYPE half4 -#define __CLC_BIT_INTN short4 #define __CLC_VECSIZE 4 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #define __CLC_GENTYPE half8 -#define __CLC_BIT_INTN short8 #define __CLC_VECSIZE 8 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE -#undef __CLC_BIT_INTN #define __CLC_GENTYPE half16 -#define __CLC_BIT_INTN short16 #define __CLC_VECSIZE 16 #include __CLC_BODY #undef __CLC_VECSIZE #undef __CLC_GENTYPE #undef __CLC_BIT_INT -#undef __CLC_BIT_INTN #undef __CLC_VECSIZE_OR_1 #undef __CLC_U_GENTYPE @@ -358,8 +321,6 @@ #undef __CLC_CONVERT_UINTN #undef __CLC_CONVERT_ULONGN -#undef __CLC_CONVERT_BIT_INTN - #undef __CLC_ULONGN #undef __CLC_UINTN #undef __CLC_USHORTN diff --git a/libclc/clc/include/clc/relational/binary_decl.inc b/libclc/clc/include/clc/relational/binary_decl.inc index 34749559c7e09..eea7f06431c40 100644 --- a/libclc/clc/include/clc/relational/binary_decl.inc +++ b/libclc/clc/include/clc/relational/binary_decl.inc @@ -9,7 +9,7 @@ #if __CLC_VECSIZE_OR_1 == 1 #define __CLC_RETTYPE __CLC_INTN #else -#define __CLC_RETTYPE __CLC_BIT_INTN +#define __CLC_RETTYPE __CLC_S_GENTYPE #endif _CLC_OVERLOAD _CLC_CONST _CLC_DECL __CLC_RETTYPE diff --git a/libclc/clc/include/clc/relational/unary_decl.inc b/libclc/clc/include/clc/relational/unary_decl.inc index df74194040253..36f2015b91654 100644 --- a/libclc/clc/include/clc/relational/unary_decl.inc +++ b/libclc/clc/include/clc/relational/unary_decl.inc @@ -9,7 +9,7 @@ #if __CLC_VECSIZE_OR_1 == 1 #define __CLC_RETTYPE __CLC_INTN #else -#define __CLC_RETTYPE __CLC_BIT_INTN +#define __CLC_RETTYPE __CLC_S_GENTYPE #endif _CLC_OVERLOAD _CLC_CONST _CLC_DECL __CLC_RETTYPE diff --git a/libclc/clc/lib/generic/atomic/clc_atomic_exchange.cl b/libclc/clc/lib/generic/atomic/clc_atomic_exchange.cl index e138780739267..9ccb3910792db 100644 --- a/libclc/clc/lib/generic/atomic/clc_atomic_exchange.cl +++ b/libclc/clc/lib/generic/atomic/clc_atomic_exchange.cl @@ -17,7 +17,7 @@ #undef __CLC_CASTTYPE #undef __CLC_AS_RETTYPE #undef __CLC_AS_CASTTYPE -#define __CLC_CASTTYPE __CLC_BIT_INTN +#define __CLC_CASTTYPE __CLC_S_GENTYPE #define __CLC_AS_RETTYPE(x) __CLC_AS_GENTYPE(x) #define __CLC_AS_CASTTYPE __CLC_AS_S_GENTYPE diff --git a/libclc/clc/lib/generic/atomic/clc_atomic_load.cl b/libclc/clc/lib/generic/atomic/clc_atomic_load.cl index 5a8cb8da017c9..c6dca35545100 100644 --- a/libclc/clc/lib/generic/atomic/clc_atomic_load.cl +++ b/libclc/clc/lib/generic/atomic/clc_atomic_load.cl @@ -17,7 +17,7 @@ #undef __CLC_CASTTYPE #undef __CLC_AS_RETTYPE -#define __CLC_CASTTYPE __CLC_BIT_INTN +#define __CLC_CASTTYPE __CLC_S_GENTYPE #define __CLC_AS_RETTYPE(x) __CLC_AS_GENTYPE(x) #define __CLC_BODY "clc_atomic_def.inc" diff --git a/libclc/clc/lib/generic/atomic/clc_atomic_store.cl b/libclc/clc/lib/generic/atomic/clc_atomic_store.cl index e0429b0acf86a..3aea423acbdc9 100644 --- a/libclc/clc/lib/generic/atomic/clc_atomic_store.cl +++ b/libclc/clc/lib/generic/atomic/clc_atomic_store.cl @@ -17,7 +17,7 @@ #undef __CLC_CASTTYPE #undef __CLC_AS_CASTTYPE -#define __CLC_CASTTYPE __CLC_BIT_INTN +#define __CLC_CASTTYPE __CLC_S_GENTYPE #define __CLC_AS_CASTTYPE __CLC_AS_S_GENTYPE #define __CLC_BODY "clc_atomic_def.inc" diff --git a/libclc/clc/lib/generic/common/clc_sign.inc b/libclc/clc/lib/generic/common/clc_sign.inc index 3b71c0a0d84ad..b6a287af692b8 100644 --- a/libclc/clc/lib/generic/common/clc_sign.inc +++ b/libclc/clc/lib/generic/common/clc_sign.inc @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// _CLC_DEF _CLC_OVERLOAD __CLC_GENTYPE __clc_sign(__CLC_GENTYPE x) { - __CLC_BIT_INTN ret_zero = __clc_isnan(x) || x == __CLC_FP_LIT(0.0); + __CLC_S_GENTYPE ret_zero = __clc_isnan(x) || x == __CLC_FP_LIT(0.0); __CLC_GENTYPE ret_val = __clc_select(__CLC_FP_LIT(1.0), __CLC_FP_LIT(0.0), ret_zero); return __clc_copysign(ret_val, x); diff --git a/libclc/opencl/lib/generic/relational/relational_binary_def.inc b/libclc/opencl/lib/generic/relational/relational_binary_def.inc index d91b893207c55..4c6d5fc23c192 100644 --- a/libclc/opencl/lib/generic/relational/relational_binary_def.inc +++ b/libclc/opencl/lib/generic/relational/relational_binary_def.inc @@ -13,7 +13,7 @@ #if __CLC_VECSIZE_OR_1 == 1 #define __CLC_RETTYPE __CLC_INTN #else -#define __CLC_RETTYPE __CLC_BIT_INTN +#define __CLC_RETTYPE __CLC_S_GENTYPE #endif _CLC_OVERLOAD _CLC_DEF __CLC_RETTYPE __CLC_FUNCTION(__CLC_GENTYPE a, diff --git a/libclc/opencl/lib/generic/relational/relational_unary_def.inc b/libclc/opencl/lib/generic/relational/relational_unary_def.inc index a39c26cc2a521..1e21a8134b5d6 100644 --- a/libclc/opencl/lib/generic/relational/relational_unary_def.inc +++ b/libclc/opencl/lib/generic/relational/relational_unary_def.inc @@ -13,7 +13,7 @@ #if __CLC_VECSIZE_OR_1 == 1 #define __CLC_RETTYPE __CLC_INTN #else -#define __CLC_RETTYPE __CLC_BIT_INTN +#define __CLC_RETTYPE __CLC_S_GENTYPE #endif _CLC_OVERLOAD _CLC_DEF __CLC_RETTYPE __CLC_FUNCTION(__CLC_GENTYPE a) { >From b140e466e3c95ebc2ee2b8c59f70cb9db6976797 Mon Sep 17 00:00:00 2001 From: Wenju He <[email protected]> Date: Mon, 23 Mar 2026 13:14:06 +0100 Subject: [PATCH 2/3] clang-format --- libclc/clc/include/clc/math/gentype.inc | 1 - 1 file changed, 1 deletion(-) diff --git a/libclc/clc/include/clc/math/gentype.inc b/libclc/clc/include/clc/math/gentype.inc index 94030729d0075..0b9fe7db33b6c 100644 --- a/libclc/clc/include/clc/math/gentype.inc +++ b/libclc/clc/include/clc/math/gentype.inc @@ -56,7 +56,6 @@ #define __CLC_CONVERT_UINTN __CLC_XCONCAT(__clc_convert_, __CLC_UINTN) #define __CLC_CONVERT_ULONGN __CLC_XCONCAT(__clc_convert_, __CLC_ULONGN) - // See definitions of __CLC_S_GENTYPE/__CLC_U_GENTYPE below, which depend on the // specific size of floating-point type. These are the signed and unsigned // integers of the same bitwidth and element count as the GENTYPE. They match >From 9e4704fd68661d28063d3b76ae6b1163848aeed2 Mon Sep 17 00:00:00 2001 From: Wenju He <[email protected]> Date: Tue, 24 Mar 2026 07:49:25 +0100 Subject: [PATCH 3/3] clang-format --- libclc/clc/include/clc/math/gentype.inc | 1 - 1 file changed, 1 deletion(-) diff --git a/libclc/clc/include/clc/math/gentype.inc b/libclc/clc/include/clc/math/gentype.inc index 258d97318925a..ff5b77e029399 100644 --- a/libclc/clc/include/clc/math/gentype.inc +++ b/libclc/clc/include/clc/math/gentype.inc @@ -58,7 +58,6 @@ #define __CLC_CONVERT_UINTN __CLC_XCONCAT(__clc_convert_, __CLC_UINTN) #define __CLC_CONVERT_ULONGN __CLC_XCONCAT(__clc_convert_, __CLC_ULONGN) - // See definitions of __CLC_S_GENTYPE/__CLC_U_GENTYPE below, which depend on the // specific size of floating-point type. These are the signed and unsigned // integers of the same bitwidth and element count as the GENTYPE. They match _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
