aco/ra: set late-kill for operands of temporary p_create_vector

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13543
Fixes: c279dd6e61 ("aco: Support vector-aligned ops fixed to defs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36469>
(cherry picked from commit 08f088479a)
This commit is contained in:
Rhys Perry 2025-07-30 14:48:57 +01:00 committed by Eric Engestrom
parent ab6fbd4f28
commit 203678acb6
2 changed files with 3 additions and 1 deletions

View file

@ -44,7 +44,7 @@
"description": "aco/ra: set late-kill for operands of temporary p_create_vector",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "c279dd6e61414c42731235167ff46441098b24f4",
"notes": null

View file

@ -2366,6 +2366,8 @@ handle_vector_operands(ra_ctx& ctx, RegisterFile& register_file,
for (unsigned i = 0; i < num_operands; i++) {
vec->operands[i] = instr->operands[operand_index + i];
vec->operands[i].setFixed(ctx.assignments[vec->operands[i].tempId()].reg);
/* The operands might not be late-kill if they are tied to a definition. */
vec->operands[i].setLateKill(true);
}
Temp vec_temp = ctx.program->allocateTmp(rc);
ctx.assignments.emplace_back();