[Mlir-commits] [mlir] [mlir][x86] Support multi-level unroll of contractions with non-native K extent (PR #234593)
Adam Siemieniuk
llvmlistbot at llvm.org
Fri Oct 23 04:48:39 PDT 2026
================
@@ -61,12 +61,19 @@ struct MLUCandidate {
vector::TransferReadOp lhsRead;
vector::TransferReadOp rhsRead;
+ // Distinguishes whether the IV of the accumulation loop is used to index a
+ // vector dimension ("offset") or a non-vector dimension ("block") on the
+ // operand transfer reads.
+ enum class IndexKind { Unknown, Offset, Block };
----------------
adam-smnk wrote:
Is this extra layer of analysis strictly needed?
I feel some parts of these newer additions could be streamlined.
You already reason about reduction dims directly based on layout, IV position, shapes etc.
In the one case where it's used to omit creating the `L iv`, I think these paths could be unified and let later cleanup remove zero adds.
https://github.com/llvm/llvm-project/pull/234593
More information about the Mlir-commits
mailing list