[Mlir-commits] [mlir] [MLIR][LLVM] Add vararg support in LLVM::CallOp (PR #67274)
Christian Ulmann
llvmlistbot at llvm.org
Wed Sep 27 08:35:14 PDT 2023
================
@@ -628,14 +631,25 @@ def LLVM_CallOp : LLVM_MemAccessOpBase<"call",
let results = (outs Optional<LLVM_Type>:$result);
let builders = [
OpBuilder<(ins "LLVMFuncOp":$func, "ValueRange":$args)>,
+ OpBuilder<(ins "LLVMFunctionType":$calleeType, "ValueRange":$args)>,
OpBuilder<(ins "TypeRange":$results, "StringAttr":$callee,
CArg<"ValueRange", "{}">:$args)>,
OpBuilder<(ins "TypeRange":$results, "FlatSymbolRefAttr":$callee,
CArg<"ValueRange", "{}">:$args)>,
OpBuilder<(ins "TypeRange":$results, "StringRef":$callee,
+ CArg<"ValueRange", "{}">:$args)>,
+ OpBuilder<(ins "LLVMFunctionType":$calleeType, "StringAttr":$callee,
+ CArg<"ValueRange", "{}">:$args)>,
+ OpBuilder<(ins "LLVMFunctionType":$calleeType, "FlatSymbolRefAttr":$callee,
+ CArg<"ValueRange", "{}">:$args)>,
+ OpBuilder<(ins "LLVMFunctionType":$calleeType, "StringRef":$callee,
CArg<"ValueRange", "{}">:$args)>
];
let hasCustomAssemblyFormat = 1;
+ let extraClassDeclaration = [{
+ /// Returns the callee function type.
+ LLVMFunctionType getCalleeFunctionType();
----------------
Dinistro wrote:
Can you add this to the invoke as well, for completeness?
https://github.com/llvm/llvm-project/pull/67274
More information about the Mlir-commits
mailing list