mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
i965/cfg: Add code to dump blocks and cfg.
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
fa1923ac3a
commit
51194932d3
2 changed files with 37 additions and 0 deletions
|
|
@ -67,6 +67,19 @@ bblock_t::make_list(void *mem_ctx)
|
|||
return new(mem_ctx) bblock_link(this);
|
||||
}
|
||||
|
||||
void
|
||||
bblock_t::dump(backend_visitor *v)
|
||||
{
|
||||
int ip = this->start_ip;
|
||||
for (backend_instruction *inst = (backend_instruction *)this->start;
|
||||
inst != this->end->next;
|
||||
inst = (backend_instruction *) inst->next) {
|
||||
printf("%5d: ", ip);
|
||||
v->dump_instruction(inst);
|
||||
ip++;
|
||||
}
|
||||
}
|
||||
|
||||
cfg_t::cfg_t(backend_visitor *v)
|
||||
{
|
||||
create(v->mem_ctx, &v->instructions);
|
||||
|
|
@ -261,3 +274,24 @@ cfg_t::make_block_array()
|
|||
}
|
||||
assert(i == num_blocks);
|
||||
}
|
||||
|
||||
void
|
||||
cfg_t::dump(backend_visitor *v)
|
||||
{
|
||||
for (int b = 0; b < this->num_blocks; b++) {
|
||||
bblock_t *block = this->blocks[b];
|
||||
printf("START B%d", b);
|
||||
foreach_list(node, &block->parents) {
|
||||
bblock_link *link = (bblock_link *)node;
|
||||
printf(" <-B%d", link->block->block_num);
|
||||
}
|
||||
printf("\n");
|
||||
block->dump(v);
|
||||
printf("END B%d", b);
|
||||
foreach_list(node, &block->children) {
|
||||
bblock_link *link = (bblock_link *)node;
|
||||
printf(" ->B%d", link->block->block_num);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ public:
|
|||
bblock_t();
|
||||
|
||||
void add_successor(void *mem_ctx, bblock_t *successor);
|
||||
void dump(backend_visitor *v);
|
||||
|
||||
backend_instruction *start;
|
||||
backend_instruction *end;
|
||||
|
|
@ -72,6 +73,8 @@ public:
|
|||
void set_next_block(bblock_t *block);
|
||||
void make_block_array();
|
||||
|
||||
void dump(backend_visitor *v);
|
||||
|
||||
/** @{
|
||||
*
|
||||
* Used while generating the block list.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue