[AMDGPU] Fix DPP sequence in atomic optimizer.
authorNeil Henning <neil.henning@amd.com>
Mon, 11 Feb 2019 14:44:14 +0000 (14:44 +0000)
committerNeil Henning <neil.henning@amd.com>
Mon, 11 Feb 2019 14:44:14 +0000 (14:44 +0000)
commit8c10fa1a903f8b8fe7880344f954cf19ee231bb6
treeffe5782fb04e6ae235a44b98eb49140a12881714
parent841bea933bfc1ea8d925de66add80227f1dfbe83
[AMDGPU] Fix DPP sequence in atomic optimizer.

This commit fixes the DPP sequence in the atomic optimizer (which was
previously missing the row_shr:3 step), and works around a read_register
exec bug by using a ballot instead.

Differential Revision: https://reviews.llvm.org/D57737

llvm-svn: 353703
llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
llvm/test/CodeGen/AMDGPU/atomic_optimizations_buffer.ll
llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
llvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
llvm/test/CodeGen/AMDGPU/atomic_optimizations_raw_buffer.ll
llvm/test/CodeGen/AMDGPU/atomic_optimizations_struct_buffer.ll