diff options
author | Qiang Yu <yuq825@gmail.com> | 2017-10-13 17:47:16 +0800 |
---|---|---|
committer | Qiang Yu <yuq825@gmail.com> | 2017-10-13 18:56:44 +0800 |
commit | 821c3017cb458b161d9390966461c464b1358721 (patch) | |
tree | 1d32dd9b4da33c70437acea5cc656ff8fe69c7c2 | |
parent | 2fe255bc82c859ecb140d399c26a773e17652acb (diff) |
lima/gpir: print more info when fail to schedule a node
Signed-off-by: Qiang Yu <yuq825@gmail.com>
-rw-r--r-- | src/gallium/drivers/lima/ir/gp/scheduler.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/gallium/drivers/lima/ir/gp/scheduler.c b/src/gallium/drivers/lima/ir/gp/scheduler.c index 9ac9858b0e..ab1dedcf54 100644 --- a/src/gallium/drivers/lima/ir/gp/scheduler.c +++ b/src/gallium/drivers/lima/ir/gp/scheduler.c @@ -816,6 +816,28 @@ static bool gpir_schedule_node(gpir_block *block, gpir_node *node) fprintf(stderr, "gpir: fail to schedule node %s %d\n", gpir_op_infos[node->op].name, node->index); + + /* print failed node's successors until none-sigle successor */ + fprintf(stderr, "gpir: successors"); + gpir_node *next = node; + while (true) { + if (next->succs->entries > 1) + fprintf(stderr, " |"); + + gpir_node *succ = NULL; + gpir_node_foreach_succ(next, entry) { + succ = gpir_node_from_entry(entry, succ); + fprintf(stderr, " %d", succ->index); + } + + if (next->succs->entries > 1 || !succ) + break; + else + next = succ; + } + fprintf(stderr, "\n"); + + gpir_instr_print_prog(block->comp); return false; } |