diff options
author | Krzysztof Drewniak <Krzysztof.Drewniak@amd.com> | 2025-02-26 16:02:39 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-26 16:02:39 -0600 |
commit | 42526d240cc953963ea48bae0b4c2ab548e9d897 (patch) | |
tree | 5845753f47df67c0e5afc8c0835c3877b79e1431 /clang/lib/Lex/ModuleMap.cpp | |
parent | 7371f691b97986fd3f32d8618131ca40788c7b8b (diff) | |
download | llvm-42526d240cc953963ea48bae0b4c2ab548e9d897.zip llvm-42526d240cc953963ea48bae0b4c2ab548e9d897.tar.gz llvm-42526d240cc953963ea48bae0b4c2ab548e9d897.tar.bz2 |
[mlir][AMDGPU] Plumb address space 7 through MLIR, add address_space attr. (#125594)
This commit adds support for casting memrefs into fat raw buffer
pointers to the AMDGPU dialect.
Fat raw buffer pointers - or, in LLVM terms, ptr addrspcae(7), allow
encapsulating a buffer descriptor (as produced by the make.buffer.rsrc
intrinsic or provided from some API) into a pointer that supports
ordinary pointer operations like load or store. This allows people to
take advantage of the additional semantics that buffer_load and similar
instructions provide without forcing the use of entirely separate
amdgpu.raw_buffer_* operations.
Operations on fat raw buffer pointers are translated to the
corresponding LLVM intrinsics by the backend.
This commit also goes and and defines a #amdgpu.address_space<>
attribute so that AMDGPU-specific memory spaces can be represented. Only
#amdgpu.address_space<fat_raw_buffer> will work correctly with the
memref dialect, but the other possible address spaces are included for
completeness.
---------
Co-authored-by: Jakub Kuderski <kubakuderski@gmail.com>
Co-authored-by: Prashant Kumar <pk5561@gmail.com>
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions