[Mlir-commits] [mlir] [mlir][Transforms][NFC] `remove-dead-values`: Use proper rewriter API (PR #173539)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Thu Dec 25 02:07:52 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir

@llvm/pr-subscribers-mlir-core

Author: Matthias Springer (matthias-springer)

<details>
<summary>Changes</summary>

Use the rewriter API to inline regions.


---
Full diff: https://github.com/llvm/llvm-project/pull/173539.diff


1 Files Affected:

- (modified) mlir/lib/Transforms/RemoveDeadValues.cpp (+5-9) 


``````````diff
diff --git a/mlir/lib/Transforms/RemoveDeadValues.cpp b/mlir/lib/Transforms/RemoveDeadValues.cpp
index 10942923ba1e1..a79f1fd93cb9c 100644
--- a/mlir/lib/Transforms/RemoveDeadValues.cpp
+++ b/mlir/lib/Transforms/RemoveDeadValues.cpp
@@ -206,21 +206,17 @@ static void dropUsesAndEraseResults(Operation *op, BitVector toErase) {
   for (OpResult result : op->getResults())
     if (!toErase[result.getResultNumber()])
       newResultTypes.push_back(result.getType());
-  OpBuilder builder(op);
-  builder.setInsertionPointAfter(op);
+  IRRewriter rewriter(op);
+  rewriter.setInsertionPointAfter(op);
   OperationState state(op->getLoc(), op->getName().getStringRef(),
                        op->getOperands(), newResultTypes, op->getAttrs());
   for (unsigned i = 0, e = op->getNumRegions(); i < e; ++i)
     state.addRegion();
-  Operation *newOp = builder.create(state);
+  Operation *newOp = rewriter.create(state);
   for (const auto &[index, region] : llvm::enumerate(op->getRegions())) {
-    Region &newRegion = newOp->getRegion(index);
     // Move all blocks of `region` into `newRegion`.
-    Block *temp = new Block();
-    newRegion.push_back(temp);
-    while (!region.empty())
-      region.front().moveBefore(temp);
-    temp->erase();
+    Region &newRegion = newOp->getRegion(index);
+    rewriter.inlineRegionBefore(region, newRegion, newRegion.begin());
   }
 
   unsigned indexOfNextNewCallOpResultToReplace = 0;

``````````

</details>


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


More information about the Mlir-commits mailing list