[clang] [clang][SPIRV] Add builtin for OpGenericCastToPtrExplicit and its SPIR-V friendly binding (PR #137805)

Victor Lomuller via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 29 14:46:45 PDT 2025


================
@@ -35,8 +35,10 @@ static constexpr Builtin::Info BuiltinInfos[] = {
 static_assert(std::size(BuiltinInfos) == NumBuiltins);
 
 llvm::SmallVector<Builtin::InfosShard>
-SPIRVTargetInfo::getTargetBuiltins() const {
-  return {{&BuiltinStrings, BuiltinInfos}};
+BaseSPIRTargetInfo::getTargetBuiltins() const {
+  if (getTriple().isSPIRV())
+    return {{&BuiltinStrings, BuiltinInfos}};
----------------
Naghasan wrote:

@farzonl Apply the suggestion, although you can't really split into 2 distinct set cleanly (common + vk and common + cl) due to the ID assignment (part is done dynamically). So I went for a unique set and diagnose when vk builtins are used with spirv32 or spirv32 or when cl builtins are used with spirv.

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


More information about the cfe-commits mailing list