[Mlir-commits] [mlir] [mlir][memref][vector] Fold memref.subview into out-of-bounds vector transfer ops (PR #80517)

Matthias Springer llvmlistbot at llvm.org
Mon Feb 5 00:04:39 PST 2024


matthias-springer wrote:

Is this really correct? The `memref.subview` could cause more padding to be added.

```mlir
%0 = memref.subview %m[0][10][1] : memref<100xf32> to memref<10xf32>
// this will add padding
%1 = vector.transfer_read %0[%c0], %p {in_bounds = [false]} : memref<10xf32>, vector<20xf32>
```

It looks like after this change the IR would be:
```mlir
// this will not add padding
%1 = vector.transfer_read %m[%c0], %p {in_bounds = [false]} : memref<100xf32>, vector<20xf32>
```


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


More information about the Mlir-commits mailing list