[Mlir-commits] [mlir] [MLIR][LLVM] Add vararg support in LLVM::LLVMFuncOp (PR #67274)
Christian Ulmann
llvmlistbot at llvm.org
Tue Sep 26 00:07:22 PDT 2023
================
@@ -1411,20 +1418,25 @@ LogicalResult ModuleImport::convertInstruction(llvm::Instruction *inst) {
unwindArgs)))
return failure();
+ auto funcTy =
+ dyn_cast<LLVMFunctionType>(convertType(invokeInst->getFunctionType()));
+ if (!funcTy)
+ return failure();
+
// Create the invoke operation. Normal destination block arguments will be
// added later on to handle the case in which the operation result is
// included in this list.
InvokeOp invokeOp;
if (llvm::Function *callee = invokeInst->getCalledFunction()) {
invokeOp = builder.create<InvokeOp>(
- loc, types,
+ loc, funcTy,
SymbolRefAttr::get(builder.getContext(), callee->getName()), operands,
directNormalDest, ValueRange(),
lookupBlock(invokeInst->getUnwindDest()), unwindArgs);
} else {
invokeOp = builder.create<InvokeOp>(
- loc, types, operands, directNormalDest, ValueRange(),
- lookupBlock(invokeInst->getUnwindDest()), unwindArgs);
+ loc, funcTy, /*callee*/ nullptr, operands, directNormalDest,
----------------
Dinistro wrote:
```suggestion
loc, funcTy, /*callee=*/nullptr, operands, directNormalDest,
```
https://github.com/llvm/llvm-project/pull/67274
More information about the Mlir-commits
mailing list