Home | History | Annotate | Download | only in ir3

Lines Matching refs:block

55 	struct ir3_block *block;           /* the current block */
82 debug_assert(ctx->block == instr->block);
89 ir3_NOP(ctx->block);
107 list_addtail(&instr->node, &instr->block->instr_list);
143 struct list_head *instr_list = &ctx->block->instr_list;
168 if (src->block != assigner->block)
193 if (src->block != instr->block)
247 struct ir3 *ir = instr->block->shader;
288 * basic blocks, if any block was conditional. We'd need
289 * to schedule the bary.f's outside of any block which
293 struct ir3 *ir = instr->block->shader;
375 /* TODO we'd really rather use the list/array of block outputs. But we
415 ir = ctx->addr->block->shader;
459 ir = ctx->pred->block->shader;
491 sched_block(struct ir3_sched_ctx *ctx, struct ir3_block *block)
495 ctx->block = block;
497 /* addr/pred writes are per-block: */
502 * empty the block's instruction list (to which we will
505 list_replace(&block->instr_list, &unscheduled_list);
506 list_inithead(&block->instr_list);
535 ir3_NOP(block);
566 * originated from a different block:
568 new_instr->block = block;
574 * the next block. Later we'll strip back out the branches
577 if (block->successors[1]) {
583 debug_assert(block->condition);
588 ir3_NOP(block);
592 /* create "else" branch first (since "then" block should
595 br = ir3_BR(block);
597 br->cat0.target = block->successors[1];
606 br = ir3_BR(block);
607 br->cat0.target = block->successors[0];
609 } else if (block->successors[0]) {
610 /* otherwise unconditional jump to next block: */
613 jmp = ir3_JUMP(block);
614 jmp->cat0.target = block->successors[0];
626 sched_insert_parallel_copies(struct ir3_block *block)
628 list_for_each_entry (struct ir3_instruction, instr, &block->instr_list, node) {
647 mov = ir3_MOV(src->block, src, TYPE_U32);
661 list_for_each_entry (struct ir3_block, block, &ir->block_list, node) {
662 sched_insert_parallel_copies(block);
665 list_for_each_entry (struct ir3_block, block, &ir->block_list, node) {
666 sched_block(&ctx, block);