Address review comment from PR3616 (#3627)
diff --git a/iree/compiler/Conversion/CodegenUtils/ForOpCanonicalization.cpp b/iree/compiler/Conversion/CodegenUtils/ForOpCanonicalization.cpp index c7f2134..e0e96f5 100644 --- a/iree/compiler/Conversion/CodegenUtils/ForOpCanonicalization.cpp +++ b/iree/compiler/Conversion/CodegenUtils/ForOpCanonicalization.cpp
@@ -80,8 +80,7 @@ rewriter.mergeBlocks(source, dest, dest->getArguments()); // Replace the yield op by one that returns only the used values. auto yieldOp = cast<scf::YieldOp>(dest->getTerminator()); - rewriter.updateRootInPlace( - yieldOp, [&]() { yieldOp.getOperation()->setOperands(results); }); + yieldOp.getOperation()->setOperands(results); } LogicalResult matchAndRewrite(scf::ForOp forOp, @@ -103,7 +102,7 @@ returnValues[it.index()] = newReturn; BlockAndValueMapping mapping; - mapping.map(op->getOperand(0), initArgs[it.index()]); + mapping.map(it.value(), initArgs[it.index()]); initArgs[it.index()] = rewriter.clone(*op, mapping)->getResult(0); } if (iteratorFolded.empty()) return success();