diff options
| author | Nicolas Vasilache <ntv@google.com> | 2020-04-29 21:12:10 -0400 |
|---|---|---|
| committer | Nicolas Vasilache <ntv@google.com> | 2020-04-29 21:28:27 -0400 |
| commit | 7a80139059fa6d3285e5972e6959d71934ae5190 (patch) | |
| tree | 1cd331013f995a69cbdc0a20ac5eb3e50f80d1b5 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | b912b887d87c96a7ef900091cf11610a08a98c24 (diff) | |
[mlir][Vector] Provide progressive lowering of masked n-D vector transfers
This revision allows masked vector transfers with m-D buffers and n-D vectors to
progressively lower to m-D buffer and 1-D vector transfers.
For a vector.transfer_read, assuming a `memref<(leading_dims) x (major_dims) x (minor_dims) x type>` and a `vector<(minor_dims) x type>` are involved in the transfer, this generates pseudo-IR resembling:
```
if (any_of(%ivs_major + %offsets, <, major_dims)) {
%v = vector_transfer_read(
{%offsets_leading, %ivs_major + %offsets_major, %offsets_minor},
%ivs_minor):
memref<(leading_dims) x (major_dims) x (minor_dims) x type>,
vector<(minor_dims) x type>;
} else {
%v = splat(vector<(minor_dims) x type>, %fill)
}
```
Differential Revision: https://reviews.llvm.org/D79062
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
