aco: ignore the ACO-inserted continue in create_continue_phis()
Otherwise, for loops without continue_or_break, create_continue_phis()
always returns an undef operand.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Fixes: 638cbc21a1
("aco: handle when ACO adds new continue edges")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2848
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7148>
This commit is contained in:
@@ -9584,7 +9584,7 @@ static Operand create_continue_phis(isel_context *ctx, unsigned first, unsigned
|
||||
continue;
|
||||
}
|
||||
|
||||
if (block.kind & block_kind_continue) {
|
||||
if ((block.kind & block_kind_continue) && block.index != last) {
|
||||
vals[idx - first] = header_phi->operands[next_pred];
|
||||
next_pred++;
|
||||
continue;
|
||||
|
Reference in New Issue
Block a user