[Mlir-commits] [mlir] [mlir][async]: Make async.execute operation with RecursiveMemoryEffects trait (PR #116544)
Aviad Cohen
llvmlistbot at llvm.org
Thu Jul 31 05:57:49 PDT 2025
https://github.com/AviadCo updated https://github.com/llvm/llvm-project/pull/116544
>From a31aeefa22536e818611cf3e5205e6d28b8d8971 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 with
RecursiveMemoryEffects trait
---
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 a8455c237c864..b52f13697f0dc 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,
+ RecursiveMemoryEffects]> {
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 0000000000000..1a74eaa344e16
--- /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