aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
diff options
context:
space:
mode:
authorCarl Ritson <carl.ritson@amd.com>2021-02-14 09:52:41 +0900
committerCarl Ritson <carl.ritson@amd.com>2021-02-15 08:45:46 +0900
commitaef781b47a5e3a82eb70a9c96595915fc7fe6cb3 (patch)
tree77491e2789db880bd3e1030dacbfd70bbef7e5fa /llvm/lib/CodeGen/MachineBasicBlock.cpp
parentd09491895f8cd9fdc8ca4cdf45f30d4c2e3066a6 (diff)
downloadllvm-aef781b47a5e3a82eb70a9c96595915fc7fe6cb3.zip
llvm-aef781b47a5e3a82eb70a9c96595915fc7fe6cb3.tar.gz
llvm-aef781b47a5e3a82eb70a9c96595915fc7fe6cb3.tar.bz2
[AMDGPU] Add llvm.amdgcn.wqm.demote intrinsic
Add intrinsic which demotes all active lanes to helper lanes. This is used to implement demote to helper Vulkan extension. In practice demoting a lane to helper simply means removing it from the mask of live lanes used for WQM/WWM/Exact mode. Where the shader does not use WQM, demotes just become kills. Additionally add llvm.amdgcn.live.mask intrinsic to complement demote operations. In theory llvm.amdgcn.ps.live can be used to detect helper lanes; however, ps.live can be moved by LICM. The movement of ps.live cannot be remedied without changing its type signature and such a change would require ps.live users to update as well. Reviewed By: piotr Differential Revision: https://reviews.llvm.org/D94747
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions