[Mlir-commits] [mlir] [mlir][mesh] Exit after `signalPassFailure` to fix a crash (PR #132662)
Longsheng Mou
llvmlistbot at llvm.org
Sun Mar 23 20:29:19 PDT 2025
https://github.com/CoTinker created https://github.com/llvm/llvm-project/pull/132662
Fixes #131435.
>From cf3bd2bdd73d4f71cfd0d2ef8f222aa762521755 Mon Sep 17 00:00:00 2001
From: Longsheng Mou <longshengmou at gmail.com>
Date: Mon, 24 Mar 2025 11:19:45 +0800
Subject: [PATCH 1/2] [mlir][mesh] Exit after `signalPassFailure`
---
mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp b/mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
index 8c989cce63406..4452dd65fce9d 100644
--- a/mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
+++ b/mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
@@ -369,7 +369,7 @@ struct ShardingPropagation
OpBuilder builder(ctx);
if (!region.hasOneBlock()) {
funcOp.emitOpError() << "only one block is supported!";
- signalPassFailure();
+ return signalPassFailure();
}
Block &block = region.front();
>From 14631a1ebf80266b33964817e23783be09ab5802 Mon Sep 17 00:00:00 2001
From: Longsheng Mou <longshengmou at gmail.com>
Date: Mon, 24 Mar 2025 11:25:16 +0800
Subject: [PATCH 2/2] add test
---
mlir/test/Dialect/Mesh/sharding-propagation-failed.mlir | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 mlir/test/Dialect/Mesh/sharding-propagation-failed.mlir
diff --git a/mlir/test/Dialect/Mesh/sharding-propagation-failed.mlir b/mlir/test/Dialect/Mesh/sharding-propagation-failed.mlir
new file mode 100644
index 0000000000000..b5eb98d859c36
--- /dev/null
+++ b/mlir/test/Dialect/Mesh/sharding-propagation-failed.mlir
@@ -0,0 +1,4 @@
+// RUN: mlir-opt --pass-pipeline="builtin.module(func.func(sharding-propagation))" %s -verify-diagnostics
+
+// expected-error @+1 {{'func.func' op only one block is supported!}}
+func.func private @no_block_function(i64)
More information about the Mlir-commits
mailing list