summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api/process
diff options
context:
space:
mode:
authorNicolai Haehnle <nhaehnle@gmail.com>2016-03-21 20:28:33 +0000
committerNicolai Haehnle <nhaehnle@gmail.com>2016-03-21 20:28:33 +0000
commit213e87f2ee2f5f5fa5704346d2f73df1d61a2f02 (patch)
tree8a56086de35da4d164e198a0b26e93122b564380 /lldb/packages/Python/lldbsuite/test/python_api/process
parentb14f4fd0defd496c0c5ac6fc36aa15e9c7f450ce (diff)
downloadbcm5719-llvm-213e87f2ee2f5f5fa5704346d2f73df1d61a2f02.tar.gz
bcm5719-llvm-213e87f2ee2f5f5fa5704346d2f73df1d61a2f02.zip
AMDGPU: Add SIWholeQuadMode pass
Summary: Whole quad mode is already enabled for pixel shaders that compute derivatives, but it must be suspended for instructions that cause a shader to have side effects (i.e. stores and atomics). This pass addresses the issue by storing the real (initial) live mask in a register, masking EXEC before instructions that require exact execution and (re-)enabling WQM where required. This pass is run before register coalescing so that we can use machine SSA for analysis. The changes in this patch expose a problem with the second machine scheduling pass: target independent instructions like COPY implicitly use EXEC when they operate on VGPRs, but this fact is not encoded in the MIR. This can lead to miscompilation because instructions are moved past changes to EXEC. This patch fixes the problem by adding use-implicit operands to target independent instructions. Some general codegen passes are relaxed to work with such implicit use operands. Reviewers: arsenm, tstellarAMD, mareko Subscribers: MatzeB, arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D18162 llvm-svn: 263982
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/process')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud