[Mlir-commits] [mlir] [mlir][Transforms] `remove-dead-values`: Rely on canonicalizer for region simplification (PR #173505)

Matthias Springer llvmlistbot at llvm.org
Mon Jan 19 01:08:28 PST 2026


================
@@ -951,7 +768,29 @@ void RemoveDeadValues::runOnOperation() {
     }
   });
 
-  cleanUpDeadVals(finalCleanupList);
+  MLIRContext *context = module->getContext();
+  cleanUpDeadVals(context, finalCleanupList);
+
+  if (!canonicalize)
+    return;
+
+  // Canonicalize all region branch ops.
+  SmallVector<Operation *> opsToCanonicalize;
+  module->walk([&](RegionBranchOpInterface regionBranchOp) {
+    opsToCanonicalize.push_back(regionBranchOp.getOperation());
+  });
+  // TODO: Apply only region branch op canonicalization patterns or find a
+  // better API to collect all canonicalization patterns.
+  RewritePatternSet owningPatterns(context);
+  for (auto *dialect : context->getLoadedDialects())
+    dialect->getCanonicalizationPatterns(owningPatterns);
+  for (RegisteredOperationName op : context->getRegisteredOperations())
----------------
matthias-springer wrote:

Addressed in #176712.

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


More information about the Mlir-commits mailing list