aco: only reserve sgprs for vcc if it's used
authorRhys Perry <pendingchaos02@gmail.com>
Fri, 21 Feb 2020 12:23:28 +0000 (12:23 +0000)
committerMarge Bot <eric+marge@anholt.net>
Thu, 5 Mar 2020 20:18:34 +0000 (20:18 +0000)
commitb088a4b113f530ef8c1ad07df33b8fca8586c5d1
treed0cced2c8861f6e78cf590ade6fcaa302e20afcf
parentc6e0c062daa55269661b190deaec40e9749198bc
aco: only reserve sgprs for vcc if it's used

pipeline-db (Vega):

Totals:
SGPRS: 5186302 -> 5075616 (-2.13 %)
VGPRS: 3704580 -> 3704580 (0.00 %)
Spilled SGPRs: 144859 -> 144859 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Scratch size: 4124 -> 4124 (0.00 %) dwords per thread
Code Size: 247315944 -> 247315944 (0.00 %) bytes
LDS: 1311 -> 1311 (0.00 %) blocks
Max Waves: 674560 -> 674562 (0.00 %)

Totals from affected shaders:
SGPRS: 536992 -> 426306 (-20.61 %)
VGPRS: 356404 -> 356404 (0.00 %)
Spilled SGPRs: 0 -> 0 (0.00 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 8498748 -> 8498748 (0.00 %) bytes
LDS: 8 -> 8 (0.00 %) blocks
Max Waves: 113832 -> 113834 (0.00 %)

There are some small code size changes in a few RotTR shaders and a small
increase in max_waves in two Detroit: Become Human shaders.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3906>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3906>
src/amd/compiler/aco_instruction_selection_setup.cpp
src/amd/compiler/aco_live_var_analysis.cpp
src/amd/compiler/aco_validate.cpp