aco/lower_phis: optimize loop exit phis
authorDaniel Schürmann <daniel@schuermann.dev>
Wed, 30 Jun 2021 12:21:44 +0000 (14:21 +0200)
committerDaniel Schürmann <daniel@schuermann.dev>
Thu, 2 Sep 2021 14:41:52 +0000 (16:41 +0200)
commitef7d840a7031f3095c9a21c77ce0ebc93f806643
tree1bcc7f96829a245fe890fba1f1e0cedad370ff5b
parent207249d2b21a71b4950e84ce77d4b5af018d07f2
aco/lower_phis: optimize loop exit phis

This optimization works by ensuring that disabled lanes
are zero'd before any merge sequence.

Totals from 6075 (4.05% of 150170) affected shaders: (GFX10.3)
CodeSize: 57913908 -> 57913212 (-0.00%)
Instrs: 11055852 -> 11055678 (-0.00%)
Latency: 438705219 -> 438534652 (-0.04%); split: -0.04%, +0.00%
InvThroughput: 125284101 -> 125251397 (-0.03%); split: -0.03%, +0.00%
Copies: 807388 -> 821035 (+1.69%); split: -0.00%, +1.69%
Branches: 391827 -> 391782 (-0.01%)
PreSGPRs: 574841 -> 574838 (-0.00%)

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