[Mlir-commits] [mlir] [mlir][mesh] Exit after `signalPassFailure` to fix a crash (PR #132662)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Sun Mar 23 20:29:51 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir

Author: Longsheng Mou (CoTinker)

<details>
<summary>Changes</summary>

Fixes #<!-- -->131435.

---
Full diff: https://github.com/llvm/llvm-project/pull/132662.diff


2 Files Affected:

- (modified) mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp (+1-1) 
- (added) mlir/test/Dialect/Mesh/sharding-propagation-failed.mlir (+4) 


``````````diff
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();
 
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)

``````````

</details>


https://github.com/llvm/llvm-project/pull/132662


More information about the Mlir-commits mailing list