[Mlir-commits] [mlir] [mlir][tensor] Apply `InsertSliceOfTransferWriteOpFolder` only when `transfer_write` overwrites all elements of `insert_slice` (PR #108803)

Han-Chung Wang llvmlistbot at llvm.org
Fri Sep 27 15:36:47 PDT 2024


================
@@ -154,6 +163,17 @@ LogicalResult InsertSliceOfTransferWriteOpFolder::matchAndRewrite(
   return success();
 }
 
+bool InsertSliceOfTransferWriteOpFolder::doesTransferWriteCoverInsertSlice(
+    vector::TransferWriteOp writeOp) {
+  if (writeOp.getShapedType().hasStaticShape())
+    return llvm::equal(writeOp.getVectorType().getShape(),
+                       writeOp.getShapedType().getShape());
----------------
hanhanW wrote:

Shouldn't we move the check to `preconditionsFoldExtractOrInsertWithTransferOp`? Otherwise the preconditions and support could diverge quickly between read an write ops.

https://github.com/llvm/llvm-project/pull/108803


More information about the Mlir-commits mailing list