[Mlir-commits] [mlir] [mlir][emitc] Fix `emitc.expression` example (PR #84060)

Kirill Chibisov llvmlistbot at llvm.org
Tue Mar 5 11:34:32 PST 2024


https://github.com/kchibisov created https://github.com/llvm/llvm-project/pull/84060

Make it use and refer to `emitc.yield` and also fix type issues.

>From dab3764aefaa294834bf0fc0da283ecdfb0e53a7 Mon Sep 17 00:00:00 2001
From: Kirill Chibisov <contact at kchibisov.com>
Date: Tue, 5 Mar 2024 23:29:10 +0400
Subject: [PATCH] [mlir][emitc] Fix `emitc.expression` example

Make it use and refer to `emitc.yield` and also fix type issues.
---
 mlir/include/mlir/Dialect/EmitC/IR/EmitC.td | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td b/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
index 5679742bfa16ec..1ab8f6c904a9df 100644
--- a/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
+++ b/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
@@ -389,17 +389,17 @@ def EmitC_ExpressionOp : EmitC_Op<"expression",
 
     As the operation is to be emitted as a C expression, the operations within
     its body must form a single Def-Use tree of emitc ops whose result is
-    yielded by a terminating `yield`.
+    yielded by a terminating `emitc.yield`.
 
     Example:
 
     ```mlir
-    %r = emitc.expression : () -> i32 {
+    %r = emitc.expression : i32 {
       %0 = emitc.add %a, %b : (i32, i32) -> i32
-      %1 = emitc.call "foo"(%0) : () -> i32
+      %1 = emitc.call_opaque "foo"(%0) : (i32) -> i32
       %2 = emitc.add %c, %d : (i32, i32) -> i32
       %3 = emitc.mul %1, %2 : (i32, i32) -> i32
-      yield %3
+      emitc.yield %3 : i32
     }
     ```
 
@@ -409,9 +409,9 @@ def EmitC_ExpressionOp : EmitC_Op<"expression",
     int32_t v7 = foo(v1 + v2) * (v3 + v4);
     ```
 
-    The operations allowed within expression body are emitc.add, emitc.apply,
-    emitc.call, emitc.cast, emitc.cmp, emitc.div, emitc.mul, emitc.rem and
-    emitc.sub.
+    The operations allowed within expression body are `emitc.add`,
+    `emitc.apply`, `emitc.call`, `emitc.cast`, `emitc.cmp`, `emitc.div`,
+    `emitc.mul`, `emitc.rem`, and `emitc.sub`.
 
     When specified, the optional `do_not_inline` indicates that the expression is
     to be emitted as seen above, i.e. as the rhs of an EmitC SSA value



More information about the Mlir-commits mailing list