From ec1a419143bda5bc20660e3325fd7843543503fa Mon Sep 17 00:00:00 2001 From: rkayaith Date: Tue, 11 Oct 2022 16:46:26 -0400 Subject: [PATCH] [mlir][async] Fix missing dialect dependency in async-to-async-runtime The specific case I hit this was when lowering an `async.execute` that's not inside a `func.func` op, e.g.: ``` llvm.func @foo() { %token = async.execute { async.yield } llvm.return } ``` Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D135742 --- mlir/include/mlir/Dialect/Async/Passes.td | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mlir/include/mlir/Dialect/Async/Passes.td b/mlir/include/mlir/Dialect/Async/Passes.td index 76311b5..16fb862 100644 --- a/mlir/include/mlir/Dialect/Async/Passes.td +++ b/mlir/include/mlir/Dialect/Async/Passes.td @@ -51,7 +51,7 @@ def AsyncToAsyncRuntime : Pass<"async-to-async-runtime", "ModuleOp"> { "Rewrite functions with blocking async.runtime.await as coroutines " "with async.runtime.await_and_resume.">, ]; - let dependentDialects = ["async::AsyncDialect"]; + let dependentDialects = ["async::AsyncDialect", "func::FuncDialect"]; } def AsyncRuntimeRefCounting : Pass<"async-runtime-ref-counting"> { -- 2.7.4