[clang] [Clang][HLSL] Use EmitIntrinsicCall instead of EmitRuntimeCall for intrinsic (PR #197380)
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Wed May 13 01:27:22 PDT 2026
================
@@ -5233,17 +5233,32 @@ llvm::CallInst *CodeGenFunction::EmitRuntimeCall(llvm::FunctionCallee callee,
const llvm::Twine &name) {
llvm::CallInst *call = Builder.CreateCall(
callee, args, getBundlesForFunclet(callee.getCallee()), name);
- // Intrinsics must use CallingConv::C; only apply the runtime CC to
- // non-intrinsic callees.
- if (auto *F = dyn_cast<llvm::Function>(callee.getCallee());
- !F || !F->isIntrinsic())
- call->setCallingConv(getRuntimeCC());
+ call->setCallingConv(getRuntimeCC());
if (CGM.shouldEmitConvergenceTokens() && call->isConvergent())
return cast<llvm::CallInst>(addConvergenceControlToken(call));
return call;
}
+llvm::CallInst *CodeGenFunction::EmitIntrinsicCall(llvm::FunctionCallee Callee,
----------------
arsenm wrote:
If this is going to be the intrinsic specific function, it should take an Intrinsic ID?
https://github.com/llvm/llvm-project/pull/197380
More information about the cfe-commits
mailing list