ir3: don't remove intervals for non-killed tex prefetch sources

Fixes: 613eaac7b5 ("ir3: Initial support for spilling non-shared registers")
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29497>
This commit is contained in:
Job Noorman
2024-06-17 11:34:25 +02:00
committed by Marge Bot
parent 70e10babea
commit eaec57ab6b

View File

@@ -1325,8 +1325,10 @@ remove_input_phi(struct ra_spill_ctx *ctx, struct ir3_instruction *instr)
return;
if (instr->opc == OPC_META_TEX_PREFETCH) {
ra_foreach_src (src, instr)
remove_src(ctx, instr, src);
ra_foreach_src (src, instr) {
if (src->flags & IR3_REG_FIRST_KILL)
remove_src(ctx, instr, src);
}
}
if (instr->dsts[0]->flags & IR3_REG_UNUSED)
remove_dst(ctx, instr->dsts[0]);