[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