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 <anarsoul@gmail.com>
Tested-by: Vasily Khoruzhick <anarsoul@gmail.com>
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}