#endif
printf("%04u:", instr->name);
printf("%04u:", instr->ip);
- printf("%03u: ", instr->depth);
+ printf("%03u:", instr->depth);
+ printf("%03u: ", instr->sun);
if (instr->flags & IR3_INSTR_SY)
printf("(sy)");
else
printf("\x1b[0;31mr<a0.x + %d>\x1b[0m (%u)", reg->array.offset, reg->size);
} else {
+ if (reg->flags & IR3_REG_HIGH)
+ printf("H");
if (reg->flags & IR3_REG_HALF)
printf("h");
if (reg->flags & IR3_REG_CONST)
{
tab(lvl); printf("block%u {\n", block_id(block));
- if (block->predecessors_count > 0) {
+ if (block->predecessors->entries > 0) {
+ unsigned i = 0;
tab(lvl+1);
printf("pred: ");
- for (unsigned i = 0; i < block->predecessors_count; i++) {
- if (i)
+ set_foreach(block->predecessors, entry) {
+ struct ir3_block *pred = (struct ir3_block *)entry->key;
+ if (i++)
printf(", ");
- printf("block%u", block_id(block->predecessors[i]));
+ printf("block%u", block_id(pred));
}
printf("\n");
}