[clang] [AMDGPU] Removal of language sensitive option for _Float16 and half('e') handling (PR #170443)

via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 3 11:05:11 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Rana Pratap Reddy (ranapratap55)

<details>
<summary>Changes</summary>

Removing the 'e' handling for the amdgcn builtins as we decided to use _Float16 for both HIP/C++ and OpenCL

---
Full diff: https://github.com/llvm/llvm-project/pull/170443.diff


2 Files Affected:

- (modified) clang/include/clang/Basic/Builtins.def (-1) 
- (modified) clang/lib/AST/ASTContext.cpp (+2-6) 


``````````diff
diff --git a/clang/include/clang/Basic/Builtins.def b/clang/include/clang/Basic/Builtins.def
index 3a5b72e20afab..b856ad145824d 100644
--- a/clang/include/clang/Basic/Builtins.def
+++ b/clang/include/clang/Basic/Builtins.def
@@ -43,7 +43,6 @@
 //  SJ -> sigjmp_buf
 //  K -> ucontext_t
 //  p -> pid_t
-//  e -> _Float16 for HIP/C++ and __fp16 for OpenCL
 //  . -> "...".  This may only occur at the end of the function list.
 //
 // Types may be prefixed with the following modifiers:
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index b359fc8350375..a04dcabdaa6b6 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -12402,12 +12402,8 @@ static QualType DecodeTypeFromStr(const char *&Str, const ASTContext &Context,
 
   // Read the base type.
   switch (*Str++) {
-  default: llvm_unreachable("Unknown builtin type letter!");
-  case 'e':
-    assert(HowLong == 0 && !Signed && !Unsigned &&
-           "Bad modifiers used with 'e'!");
-    Type = Context.getLangOpts().OpenCL ? Context.HalfTy : Context.Float16Ty;
-    break;
+  default:
+    llvm_unreachable("Unknown builtin type letter!");
   case 'x':
     assert(HowLong == 0 && !Signed && !Unsigned &&
            "Bad modifiers used with 'x'!");

``````````

</details>


https://github.com/llvm/llvm-project/pull/170443


More information about the cfe-commits mailing list