Commit 03a2de7
committed
AMDGPU: Expand remaining system atomic operations
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.1 parent d26ea02 commit 03a2de7
File tree
14 files changed
+22169
-4536
lines changed- llvm
- lib/Target/AMDGPU
- test
- CodeGen/AMDGPU
- GlobalISel
- Transforms/AtomicExpand/AMDGPU
14 files changed
+22169
-4536
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17840 | 17840 | | |
17841 | 17841 | | |
17842 | 17842 | | |
17843 | | - | |
| 17843 | + | |
17844 | 17844 | | |
17845 | 17845 | | |
17846 | 17846 | | |
17847 | 17847 | | |
17848 | | - | |
17849 | 17848 | | |
17850 | | - | |
17851 | | - | |
17852 | | - | |
| 17849 | + | |
17853 | 17850 | | |
17854 | 17851 | | |
| 17852 | + | |
17855 | 17853 | | |
17856 | | - | |
17857 | | - | |
17858 | | - | |
17859 | | - | |
17860 | | - | |
17861 | | - | |
17862 | | - | |
| 17854 | + | |
| 17855 | + | |
| 17856 | + | |
| 17857 | + | |
| 17858 | + | |
| 17859 | + | |
| 17860 | + | |
| 17861 | + | |
| 17862 | + | |
| 17863 | + | |
| 17864 | + | |
| 17865 | + | |
| 17866 | + | |
| 17867 | + | |
| 17868 | + | |
| 17869 | + | |
| 17870 | + | |
| 17871 | + | |
| 17872 | + | |
| 17873 | + | |
| 17874 | + | |
| 17875 | + | |
17863 | 17876 | | |
17864 | 17877 | | |
17865 | 17878 | | |
| |||
18014 | 18027 | | |
18015 | 18028 | | |
18016 | 18029 | | |
18017 | | - | |
18018 | | - | |
18019 | | - | |
18020 | | - | |
18021 | | - | |
18022 | | - | |
18023 | | - | |
18024 | | - | |
18025 | | - | |
18026 | | - | |
18027 | | - | |
18028 | | - | |
18029 | 18030 | | |
18030 | 18031 | | |
18031 | 18032 | | |
| |||
0 commit comments