[Mlir-commits] [mlir] [mlir][Transforms][NFC] `remove-dead-values`: Use proper rewriter API (PR #173539)
Matthias Springer
llvmlistbot at llvm.org
Thu Dec 25 02:07:24 PST 2025
https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/173539
Use the rewriter API to inline regions.
>From 510a4598d72d46a7360a6778cc4d3e7293a41312 Mon Sep 17 00:00:00 2001
From: Matthias Springer <me at m-sp.org>
Date: Thu, 25 Dec 2025 10:05:17 +0000
Subject: [PATCH] [mlir][Transforms] `remove-dead-values`: Use proper rewriter
API
---
mlir/lib/Transforms/RemoveDeadValues.cpp | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
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;
More information about the Mlir-commits
mailing list