[Mlir-commits] [mlir] [mlir][memref] canonicalization for erasing copying subview to identical subview (PR #125852)
Mehdi Amini
llvmlistbot at llvm.org
Fri Feb 28 02:20:54 PST 2025
================
@@ -824,8 +824,23 @@ struct FoldSelfCopy : public OpRewritePattern<CopyOp> {
LogicalResult matchAndRewrite(CopyOp copyOp,
PatternRewriter &rewriter) const override {
- if (copyOp.getSource() != copyOp.getTarget())
- return failure();
+ if (copyOp.getSource() != copyOp.getTarget()) {
+ // We can still fold if source and target are similar SubViews.
+ auto source = copyOp.getSource().getDefiningOp<SubViewOp>();
+ auto target = copyOp.getTarget().getDefiningOp<SubViewOp>();
+ if (!source || !target) {
+ return failure();
+ }
----------------
joker-eph wrote:
```suggestion
if (!source || !target)
return failure();
```
https://github.com/llvm/llvm-project/pull/125852
More information about the Mlir-commits
mailing list