aco/spill: Prefer unordered_map over map for next use distances
authorTony Wasserka <tony.wasserka@gmx.de>
Tue, 13 Jul 2021 10:31:12 +0000 (12:31 +0200)
committerMarge Bot <eric+marge@anholt.net>
Fri, 1 Oct 2021 09:39:13 +0000 (09:39 +0000)
commit6650799ea5c45272a59a0b764e20b8d7a6ac44fc
treef41700dbc52f43bf250999b1d29671e9ecd41d73
parent4453bce77095d3bf4659cdaabda86b7da8bdc9f6
aco/spill: Prefer unordered_map over map for next use distances

This changes the iteration order of next use distances, so some "random"
changes to shader metrics are expected.

fossil-db for Navi14:
Totals from 1239 (0.82% of 150305) affected shaders:
SpillSGPRs: 10559 -> 10562 (+0.03%); split: -0.05%, +0.08%
SpillVGPRs: 1632 -> 1863 (+14.15%)
CodeSize: 19321468 -> 19304164 (-0.09%); split: -0.09%, +0.01%
Instrs: 3593957 -> 3591647 (-0.06%); split: -0.07%, +0.01%
Latency: 103120695 -> 102475647 (-0.63%); split: -0.63%, +0.01%
InvThroughput: 23897614 -> 23575320 (-1.35%); split: -1.36%, +0.02%
VClause: 66406 -> 66943 (+0.81%); split: -0.01%, +0.81%
SClause: 118559 -> 118548 (-0.01%)
Copies: 310871 -> 308950 (-0.62%); split: -0.69%, +0.08%
Branches: 123386 -> 123413 (+0.02%); split: -0.00%, +0.03%

These numbers mostly come from parallel-rdp ubershaders. Small changes are
also found in the rdr2 and rage2 shader metrics, whereas others are not
significantly affected.

Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11925>
src/amd/compiler/aco_spill.cpp