-
Notifications
You must be signed in to change notification settings - Fork 13.6k
[mlir][vector] Drop incorrect startRootUpdate calls in vector distribution #71988
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-mlir-vector Author: Quinn Dawkins (qedawkins) ChangesFixes asan failures in https://lab.llvm.org/buildbot/#/builders/5/builds/38191 introduced by #71964. Full diff: https://github.com/llvm/llvm-project/pull/71988.diff 1 Files Affected:
diff --git a/mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp b/mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
index ac73cf07004ded8..049ebcd748781d4 100644
--- a/mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
+++ b/mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
@@ -646,10 +646,6 @@ struct WarpOpElementwise : public OpRewritePattern<WarpExecuteOnLane0Op> {
if (!yieldOperand)
return failure();
- // Notify the rewriter that the warp op is changing (see the comment on
- // the WarpOpTransferRead pattern).
- rewriter.startRootUpdate(warpOp);
-
Operation *elementWise = yieldOperand->get().getDefiningOp();
unsigned operandIndex = yieldOperand->getOperandNumber();
Value distributedVal = warpOp.getResult(operandIndex);
@@ -688,7 +684,6 @@ struct WarpOpElementwise : public OpRewritePattern<WarpExecuteOnLane0Op> {
{newWarpOp.getResult(operandIndex).getType()});
rewriter.replaceAllUsesWith(newWarpOp.getResult(operandIndex),
newOp->getResult(0));
- rewriter.finalizeRootUpdate(warpOp);
return success();
}
};
@@ -1058,9 +1053,6 @@ struct WarpOpBroadcast : public OpRewritePattern<WarpExecuteOnLane0Op> {
if (vector::isBroadcastableTo(broadcastSrcType, destVecType) !=
vector::BroadcastableToResult::Success)
return failure();
- // Notify the rewriter that the warp op is changing (see the comment on
- // the WarpOpTransferRead pattern).
- rewriter.startRootUpdate(warpOp);
SmallVector<size_t> newRetIndices;
WarpExecuteOnLane0Op newWarpOp = moveRegionToNewWarpOpAndAppendReturns(
rewriter, warpOp, {broadcastSrc}, {broadcastSrcType}, newRetIndices);
@@ -1069,7 +1061,6 @@ struct WarpOpBroadcast : public OpRewritePattern<WarpExecuteOnLane0Op> {
loc, destVecType, newWarpOp->getResult(newRetIndices[0]));
rewriter.replaceAllUsesWith(newWarpOp->getResult(operandNumber),
broadcasted);
- rewriter.finalizeRootUpdate(warpOp);
return success();
}
};
|
@llvm/pr-subscribers-mlir Author: Quinn Dawkins (qedawkins) ChangesFixes asan failures in https://lab.llvm.org/buildbot/#/builders/5/builds/38191 introduced by #71964. Full diff: https://github.com/llvm/llvm-project/pull/71988.diff 1 Files Affected:
diff --git a/mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp b/mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
index ac73cf07004ded8..049ebcd748781d4 100644
--- a/mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
+++ b/mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
@@ -646,10 +646,6 @@ struct WarpOpElementwise : public OpRewritePattern<WarpExecuteOnLane0Op> {
if (!yieldOperand)
return failure();
- // Notify the rewriter that the warp op is changing (see the comment on
- // the WarpOpTransferRead pattern).
- rewriter.startRootUpdate(warpOp);
-
Operation *elementWise = yieldOperand->get().getDefiningOp();
unsigned operandIndex = yieldOperand->getOperandNumber();
Value distributedVal = warpOp.getResult(operandIndex);
@@ -688,7 +684,6 @@ struct WarpOpElementwise : public OpRewritePattern<WarpExecuteOnLane0Op> {
{newWarpOp.getResult(operandIndex).getType()});
rewriter.replaceAllUsesWith(newWarpOp.getResult(operandIndex),
newOp->getResult(0));
- rewriter.finalizeRootUpdate(warpOp);
return success();
}
};
@@ -1058,9 +1053,6 @@ struct WarpOpBroadcast : public OpRewritePattern<WarpExecuteOnLane0Op> {
if (vector::isBroadcastableTo(broadcastSrcType, destVecType) !=
vector::BroadcastableToResult::Success)
return failure();
- // Notify the rewriter that the warp op is changing (see the comment on
- // the WarpOpTransferRead pattern).
- rewriter.startRootUpdate(warpOp);
SmallVector<size_t> newRetIndices;
WarpExecuteOnLane0Op newWarpOp = moveRegionToNewWarpOpAndAppendReturns(
rewriter, warpOp, {broadcastSrc}, {broadcastSrcType}, newRetIndices);
@@ -1069,7 +1061,6 @@ struct WarpOpBroadcast : public OpRewritePattern<WarpExecuteOnLane0Op> {
loc, destVecType, newWarpOp->getResult(newRetIndices[0]));
rewriter.replaceAllUsesWith(newWarpOp->getResult(operandNumber),
broadcasted);
- rewriter.finalizeRootUpdate(warpOp);
return success();
}
};
|
…ution (llvm#71988) Fixes asan failures in https://lab.llvm.org/buildbot/#/builders/5/builds/38191 introduced by llvm#71964.
…ution (llvm#71988) Fixes asan failures in https://lab.llvm.org/buildbot/#/builders/5/builds/38191 introduced by llvm#71964.
Fixes asan failures in https://lab.llvm.org/buildbot/#/builders/5/builds/38191 introduced by #71964.