================
@@ -1405,9 +1402,9 @@ RValue CIRGenFunction::emitCall(const CIRGenFunctionInfo 
&funcInfo,
   bool isInvoke = !cannotThrow && isCatchOrCleanupRequired();
 
   mlir::Location callLoc = loc;
-  cir::CIRCallOpInterface theCall =
-      emitCallLikeOp(*this, loc, indirectFuncTy, indirectFuncVal, directFuncOp,
-                     cirCallArgs, isInvoke, attrs, argAttrs, retAttrs);
+  cir::CIRCallOpInterface theCall = emitCallLikeOp(
+      *this, loc, indirectFuncTy, indirectFuncVal, directFuncOp, cirCallArgs,
+      isInvoke, attrs, argAttrs, retAttrs, callingConv);
----------------
koparasy wrote:

Yes, the CIRGen side was already in place #214246 . We do not support all 
conventions though (see 
[here](https://github.com/llvm/llvm-project/pull/214246/changes#diff-5f0346826915728e1229a091e99e710480e9582b06a66f5ecac4070bef959068R757))
 . I have kept the errors there since we will start having other issues since 
ABI support for non  `CallingConv::C` 
([here](https://github.com/llvm/llvm-project/blob/91dd66078a9321096e9de21ba035dedffe0a6c8a/llvm/lib/ABI/Targets/X86.cpp#L1327-L1340))
 is missing.

As is now, AFAIU these work for these 
[conventions](https://github.com/llvm/llvm-project/blob/254f05a4807997ae410e157f1673c8c26020a88c/clang/include/clang/CIR/Dialect/IR/CIROps.td#L4234-L4240)

For all the reasons above I think either the scope of this PR will explode or 
we should leave other conventions (with their testing for some other PR later)

https://github.com/llvm/llvm-project/pull/230123
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to