[Mlir-commits] [mlir] [mlir][ArmSME] Replace nested-region assertion in tile allocation with diagnostic (PR #181934)

Ayush Kumar Gaur llvmlistbot at llvm.org
Wed Feb 18 16:53:42 PST 2026


================
@@ -352,15 +352,22 @@ generateOperationNumbering(FunctionOpInterface function) {
   for (Block *block : blocks) {
     index++; // We want block args to have their own number.
     for (Operation &op : block->getOperations()) {
-#ifndef NDEBUG
-      op.walk([&](ArmSMETileOpInterface nestedOp) {
-        assert(&op == nestedOp.getOperation() &&
-               "ArmSME tile allocation does not support nested regions");
-      });
-#endif
+      WalkResult walkResult =
+          op.walk([&](ArmSMETileOpInterface nestedOp) -> WalkResult {
+            if (&op == nestedOp.getOperation())
+              return WalkResult::advance();
+            nestedOp.emitError(
+                "ArmSME tile allocation requires flattened control flow; run "
+                "-convert-scf-to-cf before this pass (e.g. via "
+                "convert-arm-sme-to-llvm pipeline)");
+            return WalkResult::interrupt();
+          });
+      if (walkResult.wasInterrupted())
----------------
Ayush3941 wrote:

nvm that was my mistake i had an accidental change that caused the failures , fixed now all passing again 

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


More information about the Mlir-commits mailing list