aco: rework boolean phi pass
authorRhys Perry <pendingchaos02@gmail.com>
Mon, 6 Jan 2020 15:46:28 +0000 (15:46 +0000)
committerMarge Bot <eric+marge@anholt.net>
Fri, 10 Jul 2020 22:36:14 +0000 (22:36 +0000)
commit47b0653d5dc7e7e6bed9263254e7436ca8b830cd
tree8593f3a75d5470943590d8d7645e4628b0a55e65
parent05e23cb23dde76afeaa77746eea37236086668e5
aco: rework boolean phi pass

The pass should now create much less linear phis.

Removes piles of phis and lots of sgpr spilling from Detroit: Become
Human and parallel-rdp.

fossil-db (Navi):
Totals from 7654 (5.63% of 135946) affected shaders:
SGPRs: 796224 -> 787616 (-1.08%); split: -1.08%, +0.00%
VGPRs: 576164 -> 572116 (-0.70%); split: -0.70%, +0.00%
SpillSGPRs: 147695 -> 52258 (-64.62%)
SpillVGPRs: 2167 -> 2102 (-3.00%)
CodeSize: 80671680 -> 76240420 (-5.49%); split: -5.50%, +0.01%
Scratch: 137216 -> 135168 (-1.49%)
MaxWaves: 54235 -> 54707 (+0.87%)
Instrs: 15569429 -> 14820569 (-4.81%); split: -4.82%, +0.01%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Co-authored-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3388>
src/amd/compiler/aco_lower_phis.cpp