[Mlir-commits] [mlir] [mlir] Do not merge blocks during canonicalization by default (PR #95057)

Uday Bondhugula llvmlistbot at llvm.org
Mon Jun 10 18:51:25 PDT 2024


================
@@ -827,11 +827,13 @@ static LogicalResult mergeIdenticalBlocks(RewriterBase &rewriter,
 /// elimination, as well as some other DCE. This function returns success if any
 /// of the regions were simplified, failure otherwise.
 LogicalResult mlir::simplifyRegions(RewriterBase &rewriter,
-                                    MutableArrayRef<Region> regions) {
+                                    MutableArrayRef<Region> regions,
+                                    bool mergeBlocks) {
   bool eliminatedBlocks = succeeded(eraseUnreachableBlocks(rewriter, regions));
   bool eliminatedOpsOrArgs = succeeded(runRegionDCE(rewriter, regions));
-  bool mergedIdenticalBlocks =
-      succeeded(mergeIdenticalBlocks(rewriter, regions));
+  bool mergedIdenticalBlocks = false;
+  if (mergeBlocks)
+    mergedIdenticalBlocks = succeeded(mergeIdenticalBlocks(rewriter, regions));
----------------
bondhugula wrote:

Can be written in one line:
```
bool mergedIdenticalBlocks = mergeBlocks && succeeded(...);
```

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


More information about the Mlir-commits mailing list