]> granicus.if.org Git - llvm/commit
Merging r266824:
authorTom Stellard <thomas.stellard@amd.com>
Sat, 4 Jun 2016 03:43:01 +0000 (03:43 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Sat, 4 Jun 2016 03:43:01 +0000 (03:43 +0000)
commitbfa69e3afa5a1c0115be4a571f8f8fc229c04375
tree8a43d513104b9ec6f1ddef021729d4205e600f33
parent32fc460fa3997d1a8580e08ed49a0056745f25d9
Merging r266824:

------------------------------------------------------------------------
r266824 | nhaehnle | 2016-04-19 14:58:17 -0700 (Tue, 19 Apr 2016) | 21 lines

AMDGPU/SI: SGPR accounting in getSIProgramInfo must ignore exec_lo/hi

Summary:
A shader stored the live mask (initial exec mask) in an SGPR which was then
spilled during register allocation. The allocator quite reasonably
optimized turned the spill into

  v_writelane_b32 %vgpr, exec_lo, N
  v_writelane_b32 %vgpr, exec_hi, N+1

at the beginning of the shader, confusing the SGPR accounting.

No test case, because si-sgpr-spill.ll together with an upcoming patch for
WQM handling exhibits the problem.

Reviewers: arsenm, tstellarAMD

Subscribers: arsenm, llvm-commits

Differential Revision: http://reviews.llvm.org/D19199

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_38@271766 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp