Lines Matching defs:block

58  * A block-level pre-RA scheduler, which works by creating a DAG of
93 struct ir3_block *block; /* the current block */
217 /* The sched node is only valid within the same block, we cannot
220 if (instr->block != ctx->block)
233 /* The sched node is only valid within the same block, we cannot
236 if (instr->block != ctx->block)
264 assert(ctx->block == instr->block);
289 list_addtail(&instr->node, &instr->block->instr_list);
304 if (src->block != instr->block)
349 ctx->sy_delay = soft_sy_delay(instr, ctx->block->shader);
404 /* Instructions not in the current block can never be scheduled.
406 if (instr->block != src->block)
439 struct ir3 *ir = instr->block->shader;
456 struct ir3 *ir = instr->block->shader;
505 struct ir3 *ir = instr->block->shader;
598 if (instr->block != src->block)
721 * consuming a value will tend to block finding freeing that value.
971 ir = ctx->pred->block->shader;
1004 if (ctx->block->condition == ctx->pred) {
1010 ctx->block->condition = new_pred;
1036 if (src->block != instr->block)
1080 if (src->block != instr->block)
1116 * phi nodes can reference sources later in the same block, so handling
1178 sched_block(struct ir3_sched_ctx *ctx, struct ir3_block *block)
1180 ctx->block = block;
1182 /* addr/pred writes are per-block: */
1192 * empty the block's instruction list (to which we will
1195 list_replace(&block->instr_list, &ctx->unscheduled_list);
1196 list_inithead(&block->instr_list);
1217 * Note: Because the first block cannot have predecessors, meta:input and
1218 * meta:phi cannot exist in the same block.
1247 struct ir3 *ir = block->shader;
1291 foreach_block (block, &ir->block_list) {
1292 foreach_instr (instr, &block->instr_list) {
1301 foreach_block (block, &ir->block_list) {
1302 sched_block(ctx, block);
1363 add_barrier_deps(struct ir3_block *block, struct ir3_instruction *instr)
1371 while (prev != &block->instr_list) {
1392 while (next != &block->instr_list) {
1411 /* before scheduling a block, we need to add any necessary false-dependencies
1425 foreach_block (block, &ir->block_list) {
1426 foreach_instr (instr, &block->instr_list) {
1428 add_barrier_deps(block, instr);