aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
authorNeil Henning <neil.henning@amd.com>2018-11-05 12:04:48 +0000
committerNeil Henning <neil.henning@amd.com>2018-11-05 12:04:48 +0000
commit233a02d0ede004f5550d812646b4047d92b7a883 (patch)
treed2e17871588429d3da4ddacd6cc01d7029433d89 /clang/lib/Lex/ModuleMap.cpp
parent2ae1be726a9a1586eb96b981d30b51b5f6299164 (diff)
downloadllvm-233a02d0ede004f5550d812646b4047d92b7a883.zip
llvm-233a02d0ede004f5550d812646b4047d92b7a883.tar.gz
llvm-233a02d0ede004f5550d812646b4047d92b7a883.tar.bz2
[AMDGPU] Fix the new atomic optimizer in pixel shaders.
The new atomic optimizer I previously added in D51969 did not work correctly when a pixel shader was using derivatives, and had helper lanes active. To fix this we add an llvm.amdgcn.ps.live call that guards a branch around the entire atomic operation - ensuring that all helper lanes are inactive within the wavefront when we compute our atomic results. I've added a test case that can cause derivatives, and exposes the problem. Differential Revision: https://reviews.llvm.org/D53930 llvm-svn: 346128
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions