[Mlir-commits] [mlir] [mlir][async]: Make async.execute operation pure (PR #116544)

Aviad Cohen llvmlistbot at llvm.org
Sun Nov 17 05:42:42 PST 2024


https://github.com/AviadCo created https://github.com/llvm/llvm-project/pull/116544

None

>From 22ac2cb252f2944db8c4e7fd87e1c04704173457 Mon Sep 17 00:00:00 2001
From: Aviad Cohen <aviad.cohen2 at mobileye.com>
Date: Sun, 17 Nov 2024 15:40:10 +0200
Subject: [PATCH] [mlir][async]: Make async.execute operation pure

---
 mlir/include/mlir/Dialect/Async/IR/AsyncOps.td |  3 ++-
 mlir/test/Dialect/Async/canonicalize.mlir      | 10 ++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 mlir/test/Dialect/Async/canonicalize.mlir

diff --git a/mlir/include/mlir/Dialect/Async/IR/AsyncOps.td b/mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
index 33b67921752346..011bffd02a90c5 100644
--- a/mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
+++ b/mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
@@ -38,7 +38,8 @@ def Async_ExecuteOp :
                                                  ["getEntrySuccessorOperands",
                                                   "areTypesCompatible"]>,
                        AttrSizedOperandSegments,
-                       AutomaticAllocationScope]> {
+                       AutomaticAllocationScope,
+                       Pure]> {
   let summary = "Asynchronous execute operation";
   let description = [{
     The `body` region attached to the `async.execute` operation semantically
diff --git a/mlir/test/Dialect/Async/canonicalize.mlir b/mlir/test/Dialect/Async/canonicalize.mlir
new file mode 100644
index 00000000000000..1a74eaa344e169
--- /dev/null
+++ b/mlir/test/Dialect/Async/canonicalize.mlir
@@ -0,0 +1,10 @@
+// RUN: mlir-opt %s -split-input-file -canonicalize | FileCheck %s
+
+// CHECK-NOT: async.execute
+
+func.func @empty_execute() {
+  %token = async.execute {
+    async.yield
+  }
+  return
+}



More information about the Mlir-commits mailing list