ir3/lower_pcopy: Set entry->done in the swap loop

We process all the remaining copy entries one-at-a-time when emitting
swaps, so normally we wouldn't need to care about whether the entry is
done, except that we need to look at the other entries to split them up
and we need to skip this when the copy to be split has already been
processed.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5307
Fixes: 0ffcb19b9d ("ir3: Rewrite register allocation")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12747>
This commit is contained in:
Connor Abbott 2021-09-07 11:45:07 +02:00 committed by Marge Bot
parent e7f8d283d7
commit f5f948826a
1 changed files with 2 additions and 0 deletions

View File

@ -451,6 +451,8 @@ _handle_copies(struct ir3_compiler *compiler, struct ir3_instruction *instr,
entry->src.reg + (blocking->src.reg - entry->dst);
}
}
entry->done = true;
}
}