[clang] [clang] Use TargetInfo to determine device kernel calling convention (PR #144728)

Nick Sarnie via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 18 11:31:27 PDT 2025


================
@@ -103,11 +103,11 @@ TargetCodeGenInfo::getDependentLibraryOption(llvm::StringRef Lib,
   Opt += Lib;
 }
 
-unsigned TargetCodeGenInfo::getOpenCLKernelCallingConv() const {
-  // OpenCL kernels are called via an explicit runtime API with arguments
-  // set with clSetKernelArg(), not as normal sub-functions.
+unsigned TargetCodeGenInfo::getDeviceKernelCallingConv() const {
+  // Device kernels are called via an explicit runtime API with arguments,
+  // such as set with clSetKernelArg() for OpenCL, not as normal sub-functions.
   // Return SPIR_KERNEL by default as the kernel calling convention to
----------------
sarnex wrote:

> I'll try this and do it if nothing expodes

Seems a lot of OpenCL relies on the default behavior being `SPIR-V` even for other targets, so I special cased that but added the assert for other cases, hope that's an acceptable compromise. 

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


More information about the cfe-commits mailing list