From 5c8f341399969067f527ac64ac5018bc1f417273 Mon Sep 17 00:00:00 2001 From: Joshua James Venter Date: Wed, 21 May 2025 23:38:14 +0200 Subject: [PATCH] [mlir][docs] Explain required attributes for CallOpInterface in Toy tutorial (NFC) Signed-off-by: Joshua James Venter --- mlir/docs/Tutorials/Toy/Ch-4.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/mlir/docs/Tutorials/Toy/Ch-4.md b/mlir/docs/Tutorials/Toy/Ch-4.md index 39e9ecdd92221..1275d36de3531 100644 --- a/mlir/docs/Tutorials/Toy/Ch-4.md +++ b/mlir/docs/Tutorials/Toy/Ch-4.md @@ -159,7 +159,20 @@ def GenericCallOp : Toy_Op<"generic_call", In the above we also use the `DeclareOpInterfaceMethods` directive to auto-declare all of the interface methods in the class declaration of -GenericCallOp. We have already provided the definition in the `extraClassDeclaration` +`GenericCallOp`. However, using this directive with `CallOpInterface` +includes methods for handling argument and result attributes. Therefore, +we need to add these specifically named attributes to our `GenericCallOp` +definition: + +```tablegen +let arguments = (ins + ... + OptionalAttr:$arg_attrs, + OptionalAttr:$res_attrs +); + + +We have already provided the definition in the `extraClassDeclaration` field of the `FuncOp` class: ```c++