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

llvmlistbot at llvm.org llvmlistbot at llvm.org
Mon Mar 24 05:20:00 PDT 2025


Author: Longsheng Mou
Date: 2025-03-24T20:19:56+08:00
New Revision: 94783a8199c5e589d8efd6d4530482d72bf98f4d

URL: https://github.com/llvm/llvm-project/commit/94783a8199c5e589d8efd6d4530482d72bf98f4d
DIFF: https://github.com/llvm/llvm-project/commit/94783a8199c5e589d8efd6d4530482d72bf98f4d.diff

LOG: [mlir][mesh] Exit after `signalPassFailure` to fix a crash (#132662)

Fixes #131435.

Added: 
    mlir/test/Dialect/Mesh/sharding-propagation-failed.mlir

Modified: 
    mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp

Removed: 
    


################################################################################
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)


        


More information about the Mlir-commits mailing list