Commit 26fd4ea
committed
AMDGPU: Expand remaining system atomic operations (llvm#122137)
System scope atomics need to use cmpxchg loops if we know
nothing about the allocation the address is from.
aea5980 started this, this
expands the set to cover the remaining integer operations.
Don't expand xchg and add, those theoretically should work over PCIe.
This is a pre-commit which will introduce performance regressions.
Subsequent changes will add handling of new atomicrmw metadata, which
will avoid the expansion.
Note this still isn't conservative enough; we do need to expand
some device scope atomics if the memory is in fine-grained remote
memory.
(cherry picked from commit 01f785c)1 parent 9461df3 commit 26fd4ea
File tree
13 files changed
+21176
-3983
lines changed- llvm
- lib/Target/AMDGPU
- test
- CodeGen/AMDGPU
- GlobalISel
- Transforms/AtomicExpand/AMDGPU
13 files changed
+21176
-3983
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16854 | 16854 | | |
16855 | 16855 | | |
16856 | 16856 | | |
16857 | | - | |
| 16857 | + | |
16858 | 16858 | | |
16859 | 16859 | | |
16860 | 16860 | | |
16861 | 16861 | | |
16862 | | - | |
16863 | 16862 | | |
16864 | | - | |
16865 | | - | |
16866 | | - | |
| 16863 | + | |
16867 | 16864 | | |
16868 | 16865 | | |
| 16866 | + | |
16869 | 16867 | | |
16870 | | - | |
16871 | | - | |
16872 | | - | |
16873 | | - | |
16874 | | - | |
16875 | | - | |
16876 | | - | |
| 16868 | + | |
| 16869 | + | |
| 16870 | + | |
| 16871 | + | |
| 16872 | + | |
| 16873 | + | |
| 16874 | + | |
| 16875 | + | |
| 16876 | + | |
| 16877 | + | |
| 16878 | + | |
| 16879 | + | |
| 16880 | + | |
| 16881 | + | |
| 16882 | + | |
| 16883 | + | |
| 16884 | + | |
| 16885 | + | |
| 16886 | + | |
| 16887 | + | |
| 16888 | + | |
| 16889 | + | |
16877 | 16890 | | |
16878 | 16891 | | |
16879 | 16892 | | |
| |||
17028 | 17041 | | |
17029 | 17042 | | |
17030 | 17043 | | |
17031 | | - | |
17032 | | - | |
17033 | | - | |
17034 | | - | |
17035 | | - | |
17036 | | - | |
17037 | | - | |
17038 | | - | |
17039 | | - | |
17040 | | - | |
17041 | | - | |
17042 | | - | |
17043 | | - | |
17044 | 17044 | | |
17045 | 17045 | | |
17046 | 17046 | | |
| |||
0 commit comments