aco/cssa: don't create parallelcopies for constants and exec
authorDaniel Schürmann <daniel@schuermann.dev>
Mon, 22 Feb 2021 13:58:37 +0000 (14:58 +0100)
committerMarge Bot <eric+marge@anholt.net>
Tue, 13 Apr 2021 18:40:57 +0000 (18:40 +0000)
commitb6a28aaa8bacebf0ff78f2d811a80d3e77a8ef3a
treeda355ea10233d4d18e23a80d18415f2dfeb5fb66
parent18ba93e6732a328a8e982f4d18bf7943171b4eb4
aco/cssa: don't create parallelcopies for constants and exec

if we are able to spill these directly.

Totals from 4913 (3.60% of 136546) affected shaders (Raven):
SpillSGPRs: 16021 -> 15451 (-3.56%); split: -3.87%, +0.31%
CodeSize: 58102020 -> 57371464 (-1.26%); split: -1.26%, +0.00%
Instrs: 11411454 -> 11230105 (-1.59%); split: -1.59%, +0.00%
Latency: 555706331 -> 550058635 (-1.02%); split: -1.07%, +0.05%
InvThroughput: 273023354 -> 271854469 (-0.43%); split: -0.44%, +0.01%
SClause: 385168 -> 385371 (+0.05%); split: -0.01%, +0.06%
Copies: 1342084 -> 1175762 (-12.39%); split: -12.40%, +0.01%
Branches: 392619 -> 378662 (-3.55%); split: -3.56%, +0.00%

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9196>
src/amd/compiler/aco_lower_to_cssa.cpp