From: Connor Abbott Date: Mon, 2 Sep 2019 07:48:54 +0000 (+0200) Subject: lima/gpir: Ignore unscheduled successors in can_use_complex() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=63acdb5ce68b77443bed06729d109145ca8dfa77;p=mesa.git lima/gpir: Ignore unscheduled successors in can_use_complex() The point of the function is to avoid creating a complex move which is used by certain slots in the next instruction, but unscheduled successors will never be in the next instruction. Found while debugging a crash that the previous commit fixed. Reviewed-by: Vasily Khoruzhick Tested-by: Vasily Khoruzhick --- diff --git a/src/gallium/drivers/lima/ir/gp/scheduler.c b/src/gallium/drivers/lima/ir/gp/scheduler.c index 9900ceaa041..bfb64543e06 100644 --- a/src/gallium/drivers/lima/ir/gp/scheduler.c +++ b/src/gallium/drivers/lima/ir/gp/scheduler.c @@ -1154,7 +1154,8 @@ static bool can_use_complex(gpir_node *node) continue; gpir_node *succ = dep->succ; - if (succ->type != gpir_node_type_alu) + if (succ->type != gpir_node_type_alu || + !succ->sched.instr) continue; /* Note: this must be consistent with gpir_codegen_{mul,add}_slot{0,1}