[Mlir-commits] [mlir] [MLIR][MemRef] Add `alloca` support for `erase_dead_alloc_and_stores` (PR #142131)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Sun Jun 1 13:55:42 PDT 2025
================
@@ -156,13 +156,17 @@ static bool resultIsNotRead(Operation *op, std::vector<Operation *> &uses) {
void eraseDeadAllocAndStores(RewriterBase &rewriter, Operation *parentOp) {
std::vector<Operation *> opToErase;
- parentOp->walk([&](memref::AllocOp op) {
+ auto collectOpsToErase = [&](Operation *op) {
std::vector<Operation *> candidates;
if (resultIsNotRead(op, candidates)) {
llvm::append_range(opToErase, candidates);
- opToErase.push_back(op.getOperation());
+ opToErase.push_back(op);
}
- });
+ };
+
+ parentOp->walk([&](memref::AllocOp op) { collectOpsToErase(op); });
----------------
MaheshRavishankar wrote:
We dont need two separate walks. We can do it in a single walk and check for `AllocOp` or `AllocaOp`.
https://github.com/llvm/llvm-project/pull/142131
More information about the Mlir-commits
mailing list