aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
authorKrzysztof Drewniak <Krzysztof.Drewniak@amd.com>2025-02-26 16:02:39 -0600
committerGitHub <noreply@github.com>2025-02-26 16:02:39 -0600
commit42526d240cc953963ea48bae0b4c2ab548e9d897 (patch)
tree5845753f47df67c0e5afc8c0835c3877b79e1431 /clang/lib/Lex/ModuleMap.cpp
parent7371f691b97986fd3f32d8618131ca40788c7b8b (diff)
downloadllvm-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