Skip to content

Commit 7000187

Browse files
authored
Workaround for ConversionPatternRewriter::eraseOp issue (#4310)
Using `ConversionPatternRewriter::replaceAllUsesWith` + `ConversionPatternRewriter::eraseOp` is not supported at the moment, and will fail an assert after integrating llvm/llvm-project@2929a29. The workaround is to use `replaceOp` instead, see: llvm/llvm-project#155244 (comment)
1 parent b8f742b commit 7000187

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

lib/Dialect/Torch/Transforms/ReduceOpVariants.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,8 +253,7 @@ void TorchMatchSpecializedBackendOp::populateSpecializedConversions(
253253
auto newOp = rewriter.create<Torch::AtenScaledDotProductAttentionOp>(
254254
op.getLoc(), op->getResultTypes()[0], newOperands,
255255
op->getAttrs());
256-
rewriter.replaceAllUsesWith(op.getResult(0), newOp.getResult());
257-
rewriter.eraseOp(op);
256+
rewriter.replaceOp(op, {newOp.getResult(), nullptr});
258257
return success();
259258
}
260259
return failure();

0 commit comments

Comments
 (0)