[Mlir-commits] [mlir] [mlir][Transforms] Fix crash in `CFGToSCF` when conversion fails (PR #173590)

Mehdi Amini llvmlistbot at llvm.org
Wed Dec 31 10:06:48 PST 2025


================
@@ -1156,8 +1156,12 @@ static FailureOr<SmallVector<Block *>> transformToStructuredCFBranches(
     FailureOr<Operation *> result = interface.createStructuredBranchRegionOp(
         opBuilder, regionEntry->getTerminator(),
         continuation->getArgumentTypes(), conditionalRegions);
-    if (failed(result))
+    if (failed(result)) {
+      Region &parentRegion = *regionEntry->getParent();
+      for (Region &reg : conditionalRegions)
+        parentRegion.getBlocks().splice(parentRegion.end(), reg.getBlocks());
       return failure();
+    }
----------------
joker-eph wrote:

Can you add a comment describing this failure path?

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


More information about the Mlir-commits mailing list