clspv should use LLVM atomic instructions
Open
bug
- Dominant language
- LLVM
- Stars
- 729
- Forks
- 110
- Avg merge
- 17h 51m
- Merged PRs (30d)
- 23
Description
clspv currently replaces OpenCL atomic builtins with SPIR-V builtins. Instead we should use llvm atomic instructions throughout the flow and translate them in SPIRVProducerPass. Currently some of the builtins are handled this way. Increment, decrement and compare exchange need updated.
Other issues with atomics in clspv: 1.2 opencl atomics should be relaxed and map to Monotonic ordering in LLVM.
All OpenCL atomic builtins claim the pointer is volatile. So at least through the clspv flow atomic instructions should get marked as volatile.
Contributor guide
Assessment
This issue has not been assessed yet.