diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp index 7c0fbd0b9..ba920c042 100644 --- a/src/llvm_backend_proc.cpp +++ b/src/llvm_backend_proc.cpp @@ -891,6 +891,9 @@ gb_internal lbValue lb_emit_call_internal(lbProcedure *p, lbValue value, lbValue LLVMValueRef ret = LLVMBuildCall2(p->builder, fnp, fn, args, arg_count, ""); + auto llvm_cc = lb_calling_convention_map[proc_type->Proc.calling_convention]; + LLVMSetInstructionCallConv(ret, llvm_cc); + LLVMAttributeIndex param_offset = LLVMAttributeIndex_FirstArgIndex; if (return_ptr.value != nullptr) { param_offset += 1;