[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
================
@@ -1412,12 +1542,26 @@ ParseResult InvokeOp::parse(OpAsmParser &parser, OperationState &result) {
parser.parseKeyword("to") ||
parser.parseSuccessorAndUseList(normalDest, normalOperands) ||
parser.parseKeyword("unwind") ||
- parser.parseSuccessorAndUseList(unwindDest, unwindOperands) ||
- parser.parseOptionalAttrDict(result.attributes))
+ parser.parseSuccessorAndUseList(unwindDest, unwindOperands))
+ return failure();
+
+ bool isVarArg = parser.parseOptionalKeyword("vararg").succeeded();
+ if (isVarArg) {
+ if (parser.parseLParen().failed() ||
+ !parser
+ .parseOptionalAttribute(calleeType, "callee_type",
+ result.attributes)
+ .has_value() ||
+ parser.parseRParen().failed())
+ return failure();
+ }
+
+ if (parser.parseOptionalAttrDict(result.attributes))
return failure();
// Parse the trailing type list and resolve the function operands.
- if (parseCallTypeAndResolveOperands(parser, result, isDirect, operands))
+ if (parseCallTypeAndResolveOperands(parser, result, isDirect, operands,
+ /*isVarArg*/ false))
----------------
Dinistro wrote:
```suggestion
/*isVarArg=*/false))
```
https://github.com/llvm/llvm-project/pull/67274
More information about the Mlir-commits
mailing list