aco/ra: coalesce vector affinities with tied definitions

Totals from 19310 (24.19% of 79839) affected shaders: (Navi48)

MaxWaves: 564238 -> 564542 (+0.05%); split: +0.06%, -0.01%
Instrs: 10856428 -> 10803360 (-0.49%); split: -0.53%, +0.04%
CodeSize: 56405088 -> 56189384 (-0.38%); split: -0.41%, +0.02%
VGPRs: 986120 -> 985952 (-0.02%); split: -0.50%, +0.48%
Latency: 53956142 -> 53940850 (-0.03%); split: -0.11%, +0.09%
InvThroughput: 8769260 -> 8735595 (-0.38%); split: -0.49%, +0.11%
VClause: 237471 -> 237452 (-0.01%); split: -0.05%, +0.04%
SClause: 225385 -> 225389 (+0.00%)
Copies: 799792 -> 744150 (-6.96%); split: -7.25%, +0.30%
Branches: 208574 -> 208572 (-0.00%); split: -0.00%, +0.00%
VALU: 6116920 -> 6061448 (-0.91%); split: -0.95%, +0.04%
SALU: 1442068 -> 1441990 (-0.01%); split: -0.01%, +0.00%
VOPD: 1914 -> 1744 (-8.88%); split: +0.10%, -8.99%
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36851>
This commit is contained in:
Daniel Schürmann 2025-08-14 18:47:55 +02:00 committed by Marge Bot
parent 2f303636f3
commit 441d5aab08

View file

@ -3122,8 +3122,6 @@ get_affinities(ra_ctx& ctx)
if (it != temp_to_phi_resources.end()) {
/* mark last-seen phi operand */
phi_resources[it->second][0] = def.getTemp();
} else if (!ctx.assignments[def.tempId()].precolor_affinity) {
continue;
}
/* try to coalesce affinities with parallelcopies */
@ -3148,6 +3146,9 @@ get_affinities(ra_ctx& ctx)
phi_resources[it->second].emplace_back(op.getTemp());
temp_to_phi_resources[op.tempId()] = it->second;
}
auto vec_it = ctx.vectors.find(def.tempId());
if (vec_it != ctx.vectors.end())
ctx.vectors[op.tempId()] = vec_it->second;
}
}
}