[Mlir-commits] [mlir] [mlir][vector] Fix tensor transfer hoisting with mismatched masks or permutation maps (PR #234878)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Mon Nov 2 00:44:25 PST 2026
================
@@ -39,6 +39,15 @@ struct TransferReadOpSubsetExtractionOpInterface
OpOperand &getSourceOperand(Operation *op) const {
return cast<vector::TransferReadOp>(op).getBaseMutable();
}
+
+ bool isCompatibleWithInsertion(Operation *op,
----------------
Pecco-314 wrote:
I think we can reuse `checkSameValueRAW`, but it would make hoisting more conservative. It requires `in_bounds` to be true for every transfer dimension of the write. Existing tests such as `hoist_vector_transfer_pairs_tensor` currently hoist transfers on dynamic tensors without these annotations, so those cases would no longer hoist.
Preserving the current test expectations would require adding `in_bounds` annotations across several existing tests. Pipelines without those guarantees would also lose the optimization, and canonicalization cannot generally infer them for dynamic tensors. Would this stricter requirement be acceptable as part of this fix?
https://github.com/llvm/llvm-project/pull/234878
More information about the Mlir-commits
mailing list