================
@@ -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

Reply via email to