pekka.jaaskelainen added a comment. > The reason why we would like to fix it is that upstream clang has a crash > currently when OpenCL sources are compiled for any Arm CPU: > https://bugs.llvm.org/show_bug.cgi?id=50841. Do you have any other > suggestions to avoid this problem? > > FYI clang also emits kernel metadata that can be used to detect kernels...
Unfortunately I cannot look at this in detail right now, but I'll reply quickly for a heads up: The problem was not how to detect kernels, but the ABI/CC mismatch to the clSetKerneArg() with (user facing) arguments that get split to multiple args or vice versa. E.g. x86 ABI had a CC where 2xfloat gets to 1xdouble in the generated function finger print, thus there was no 1:1 match of the kernel arguments to the OpenCL-facing ones (making clSetKernelArg calls difficult to implement robustly). IIRC, SPIR_KERNEL CC was used to force the 1:1 mapping and produce a portable way to handle this OpenCL API e.g. with struct args etc. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104858/new/ https://reviews.llvm.org/D104858 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits