diff options
author | Ivan Butygin <ivan.butygin@gmail.com> | 2023-07-14 00:06:51 +0200 |
---|---|---|
committer | Ivan Butygin <ivan.butygin@gmail.com> | 2023-08-10 02:28:03 +0200 |
commit | 2b5b2bfef102b1021d91f2b9485e2443bdea9df5 (patch) | |
tree | 0abb4d04e24cc56e389acad9db7c1eea50fca372 /llvm/lib/MC/MCAssembler.cpp | |
parent | f9ebcb4814d0c7b23d0c503069bd058a09edea96 (diff) | |
download | llvm-2b5b2bfef102b1021d91f2b9485e2443bdea9df5.zip llvm-2b5b2bfef102b1021d91f2b9485e2443bdea9df5.tar.gz llvm-2b5b2bfef102b1021d91f2b9485e2443bdea9df5.tar.bz2 |
[mlir][gpu] Add DecomposeMemrefsPass
Some GPU backends (SPIR-V) lower memrefs to bare pointers, so for dynamically sized/strided memrefs it will fail.
This pass extracts sizes and strides via `memref.extract_strrided_metadata` outside `gpu.launch` body and do index/offset calculation explicitly and then reconstructs memrefs via `memref.reinterpret_cast`.
`memref.reinterpret_cast` then lowered via https://reviews.llvm.org/D155011
Differential Revision: https://reviews.llvm.org/D155247
Diffstat (limited to 'llvm/lib/MC/MCAssembler.cpp')
0 files changed, 0 insertions, 0 deletions