summaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorBenoit Jacob <benoitjacob@google.com>2021-12-13 20:00:28 +0000
committerNicolas Vasilache <nicolas.vasilache@gmail.com>2021-12-13 22:39:41 +0000
commitaba437ceb2379f219935b98a10ca3c5081f0c8b7 (patch)
treededa5d05f9e29663ed779a0fd83c5d3eec76d9b4 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parentd1327f8a574a0936f462387778adf0dfc14358f6 (diff)
[mlir][Vector] Patterns flattening vector transfers to 1D
This is the second part of https://reviews.llvm.org/D114993 after slicing into 2 independent commits. This is needed at the moment to get good codegen from 2d vector.transfer ops that aim to compile to SIMD load/store instructions but that can only do so if the whole 2d transfer shape is handled in one piece, in particular taking advantage of the memref being contiguous rowmajor. For instance, if the target architecture has 128bit SIMD then we would expect that contiguous row-major transfers of <4x4xi8> map to one SIMD load/store instruction each. The current generic lowering of multi-dimensional vector.transfer ops can't achieve that because it peels dimensions one by one, so a transfer of <4x4xi8> becomes 4 transfers of <4xi8>. The new patterns here are only enabled for now by -test-vector-transfer-flatten-patterns. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D114993
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions