aco/ra: unconditionally call undo_renames

There's no real reason to not do this more.

fossil-db (navi21):
Totals from 2615 (3.29% of 79377) affected shaders:
Instrs: 4729505 -> 4729484 (-0.00%); split: -0.00%, +0.00%
CodeSize: 25210992 -> 25210036 (-0.00%); split: -0.00%, +0.00%
Latency: 31572966 -> 31572435 (-0.00%); split: -0.00%, +0.00%
InvThroughput: 6918552 -> 6918560 (+0.00%); split: -0.00%, +0.00%
VClause: 132152 -> 132116 (-0.03%); split: -0.03%, +0.00%
SClause: 98595 -> 98575 (-0.02%); split: -0.04%, +0.02%

fossil-db (polaris10):
Totals from 1039 (1.68% of 61794) affected shaders:
Instrs: 708761 -> 708766 (+0.00%); split: -0.00%, +0.00%
CodeSize: 3588772 -> 3588792 (+0.00%); split: -0.00%, +0.00%
Latency: 7458892 -> 7459513 (+0.01%); split: -0.00%, +0.01%
InvThroughput: 3494669 -> 3494722 (+0.00%); split: -0.00%, +0.00%
VClause: 16754 -> 16737 (-0.10%)
SClause: 18190 -> 18156 (-0.19%); split: -0.49%, +0.31%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33444>
This commit is contained in:
Rhys Perry 2025-01-16 11:29:41 +00:00 committed by Marge Bot
parent b94b4188a6
commit d946a753e3

View file

@ -3192,7 +3192,6 @@ register_allocation(Program* program, ra_test_policy policy)
}
/* handle fixed definitions first */
bool has_precolored_defs = false;
for (unsigned i = 0; i < instr->definitions.size(); ++i) {
auto& definition = instr->definitions[i];
if (!definition.isFixed())
@ -3215,7 +3214,6 @@ register_allocation(Program* program, ra_test_policy policy)
assert(success);
update_renames(ctx, register_file, parallelcopy, instr);
has_precolored_defs = true;
}
if (!definition.isTemp())
@ -3307,8 +3305,7 @@ register_allocation(Program* program, ra_test_policy policy)
register_file.fill(*definition);
}
if (instr->opcode == aco_opcode::p_create_vector || has_precolored_defs)
undo_renames(ctx, parallelcopy, instr);
undo_renames(ctx, parallelcopy, instr);
handle_pseudo(ctx, register_file, instr.get());