@@ -646,10 +646,6 @@ struct WarpOpElementwise : public OpRewritePattern<WarpExecuteOnLane0Op> {
646
646
if (!yieldOperand)
647
647
return failure ();
648
648
649
- // Notify the rewriter that the warp op is changing (see the comment on
650
- // the WarpOpTransferRead pattern).
651
- rewriter.startRootUpdate (warpOp);
652
-
653
649
Operation *elementWise = yieldOperand->get ().getDefiningOp ();
654
650
unsigned operandIndex = yieldOperand->getOperandNumber ();
655
651
Value distributedVal = warpOp.getResult (operandIndex);
@@ -688,7 +684,6 @@ struct WarpOpElementwise : public OpRewritePattern<WarpExecuteOnLane0Op> {
688
684
{newWarpOp.getResult (operandIndex).getType ()});
689
685
rewriter.replaceAllUsesWith (newWarpOp.getResult (operandIndex),
690
686
newOp->getResult (0 ));
691
- rewriter.finalizeRootUpdate (warpOp);
692
687
return success ();
693
688
}
694
689
};
@@ -1058,9 +1053,6 @@ struct WarpOpBroadcast : public OpRewritePattern<WarpExecuteOnLane0Op> {
1058
1053
if (vector::isBroadcastableTo (broadcastSrcType, destVecType) !=
1059
1054
vector::BroadcastableToResult::Success)
1060
1055
return failure ();
1061
- // Notify the rewriter that the warp op is changing (see the comment on
1062
- // the WarpOpTransferRead pattern).
1063
- rewriter.startRootUpdate (warpOp);
1064
1056
SmallVector<size_t > newRetIndices;
1065
1057
WarpExecuteOnLane0Op newWarpOp = moveRegionToNewWarpOpAndAppendReturns (
1066
1058
rewriter, warpOp, {broadcastSrc}, {broadcastSrcType}, newRetIndices);
@@ -1069,7 +1061,6 @@ struct WarpOpBroadcast : public OpRewritePattern<WarpExecuteOnLane0Op> {
1069
1061
loc, destVecType, newWarpOp->getResult (newRetIndices[0 ]));
1070
1062
rewriter.replaceAllUsesWith (newWarpOp->getResult (operandNumber),
1071
1063
broadcasted);
1072
- rewriter.finalizeRootUpdate (warpOp);
1073
1064
return success ();
1074
1065
}
1075
1066
};
0 commit comments