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

Reply via email to