Commit c8c1aa7
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 f8a2ed7 commit c8c1aa7
File tree
14 files changed
+22171
-4539
lines changed- llvm
- lib/Target/AMDGPU
- test
- CodeGen/AMDGPU
- GlobalISel
- Transforms/AtomicExpand/AMDGPU
14 files changed
+22171
-4539
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17702 | 17702 | | |
17703 | 17703 | | |
17704 | 17704 | | |
17705 | | - | |
| 17705 | + | |
17706 | 17706 | | |
17707 | 17707 | | |
17708 | 17708 | | |
17709 | 17709 | | |
17710 | | - | |
17711 | 17710 | | |
17712 | | - | |
17713 | | - | |
17714 | | - | |
| 17711 | + | |
17715 | 17712 | | |
17716 | 17713 | | |
| 17714 | + | |
17717 | 17715 | | |
17718 | | - | |
17719 | | - | |
17720 | | - | |
17721 | | - | |
17722 | | - | |
17723 | | - | |
17724 | | - | |
| 17716 | + | |
| 17717 | + | |
| 17718 | + | |
| 17719 | + | |
| 17720 | + | |
| 17721 | + | |
| 17722 | + | |
| 17723 | + | |
| 17724 | + | |
| 17725 | + | |
| 17726 | + | |
| 17727 | + | |
| 17728 | + | |
| 17729 | + | |
| 17730 | + | |
| 17731 | + | |
| 17732 | + | |
| 17733 | + | |
| 17734 | + | |
| 17735 | + | |
| 17736 | + | |
| 17737 | + | |
17725 | 17738 | | |
17726 | 17739 | | |
17727 | 17740 | | |
| |||
17876 | 17889 | | |
17877 | 17890 | | |
17878 | 17891 | | |
17879 | | - | |
17880 | | - | |
17881 | | - | |
17882 | | - | |
17883 | | - | |
17884 | | - | |
17885 | | - | |
17886 | | - | |
17887 | | - | |
17888 | | - | |
17889 | | - | |
17890 | | - | |
17891 | | - | |
17892 | 17892 | | |
17893 | 17893 | | |
17894 | 17894 | | |
| |||
0 commit comments