diff options
author | Qiang Yu <yuq825@gmail.com> | 2017-10-15 18:02:36 +0800 |
---|---|---|
committer | Qiang Yu <yuq825@gmail.com> | 2017-10-15 18:02:36 +0800 |
commit | 37209a5e778a8978c9672c46b94b7118e596584f (patch) | |
tree | 79ae83ecd4691a80a921ba90690479f74d03b7bb | |
parent | bf47763ab8760e48b044fbe01de9c24948f5dced (diff) |
lima/gpir: schedule load node early
Signed-off-by: Qiang Yu <yuq825@gmail.com>
-rw-r--r-- | src/gallium/drivers/lima/ir/gp/scheduler.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/lima/ir/gp/scheduler.c b/src/gallium/drivers/lima/ir/gp/scheduler.c index 5ec7e31fe3..338c944535 100644 --- a/src/gallium/drivers/lima/ir/gp/scheduler.c +++ b/src/gallium/drivers/lima/ir/gp/scheduler.c @@ -234,9 +234,12 @@ static void gpir_insert_ready_list(struct list_head *ready_list, gpir_node *inse * other successor. And no other node will be called with this function * before schedule complex2 & impl, because complex1 only have there * children, the last one is also the child of the complex2 & impl, it - * won't be schedulable until complex2 & impl have been scheduled. */ + * won't be schedulable until complex2 & impl have been scheduled. + * + * Unsure: also schedule load node early to avoid spill to reg */ if (insert_node->op == gpir_op_complex2 || - insert_node->op == gpir_op_rcp_impl) { + insert_node->op == gpir_op_rcp_impl || + insert_node->type == gpir_node_type_load) { list_add(&insert_node->ready, ready_list); return; } |