diff options
author | Jessica Del <50999226+OutOfCache@users.noreply.github.com> | 2024-07-22 18:04:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-22 18:04:49 +0200 |
commit | ec7f8e11133ff6cd0370398ee32d684a6f857fcc (patch) | |
tree | bd0566fe92d7080866b4669bb8e80ef40c8af533 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 4010ddf780d90c42877c9ab8d28b7e084cfe197e (diff) | |
download | llvm-ec7f8e11133ff6cd0370398ee32d684a6f857fcc.zip llvm-ec7f8e11133ff6cd0370398ee32d684a6f857fcc.tar.gz llvm-ec7f8e11133ff6cd0370398ee32d684a6f857fcc.tar.bz2 |
[AMDGPU] Add intrinsic for raw atomic buffer loads (#97707)
Upstream the intrinsics `llvm.amdgcn.raw.atomic.buffer.load`
and `llvm.amdgcn.raw.atomic.ptr.buffer.load`.
These additional intrinsics mark atomic buffer loads
as atomic to LLVM by removing the `IntrReadMem`
attribute. Otherwise, it could hoist these
intrinsics out of loops in cases where LLVM marks
them as invariant. That can cause issues such as
infinite loops.
Continuation of https://reviews.llvm.org/D138786
with the additional use in the fat buffer lowering,
more test cases and the additional ptr versions
of these intrinsics.
---------
Co-authored-by: rtayl <>
Co-authored-by: Jay Foad <jay.foad@amd.com>
Co-authored-by: Mariusz Sikora <mariusz.sikora@amd.com>
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions