From d0fbfa6d9771b13e32ed4c64f34150c2364543c2 Mon Sep 17 00:00:00 2001 From: Joshua James Venter Date: Thu, 22 May 2025 11:54:45 +0200 Subject: [PATCH] [mlir] Explain required attrs for CallOpInterface in Toy (NFC) (#141018) Following #123176. 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 39e9ecdd9222..1275d36de353 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++