================ @@ -630,7 +639,10 @@ class FlattenContiguousRowMajorTransferReadPattern if (transferReadOp.getMask()) return failure(); - int64_t firstDimToCollapse = sourceType.getRank() - vectorType.getRank(); ---------------- newling wrote:
Thanks for the (additional!) explanation, I think I understand now In ``` int64_t firstDimToCollapse = std::max( lastDynIndex(sourceType.getShape()), sourceType.getRank() - sourceType.getNumContiguousTrailingDims()); ``` when might `lastDynIndex(sourceType.getShape())` be larger than `sourceType.getRank() - sourceType.getNumContiguousTrailingDims())` ? > I've chosen to do maximum collapsing, as it seems simpler to do, and the > resulting IR is arguably simpler. Ok. Maybe it is simpler in these 2 senses. I guess minimising change (compared to pre-PR and to pre-pass) could be another metric. https://github.com/llvm/llvm-project/pull/142422 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits