Lines Matching defs:block
24 /* This is a new block-level load instruction scheduler where loads are grouped
25 * according to their indirection level within a basic block. An indirection
163 nir_block *block;
173 return state->block != src->ssa->parent_instr->block ||
196 if (use->parent_instr->block == instr->block &&
218 state.block = first->block;
257 set_instr_indices(nir_block *block)
265 nir_foreach_instr(instr, block) {
272 /* Set each instruction's index within the block. */
291 set_instr_indices((*first)->block);
319 nir_block *block;
332 /* We only count indirections within the same block. */
333 if (instr->block == state->block) {
345 /* Return the number of load indirections within the block. */
350 * if the phi points to the current block (such as a loop body).
359 state.block = instr->block;
369 process_block(nir_block *block, nir_load_grouping grouping,
382 nir_foreach_instr(instr, block) {
387 * within this block. Store it in pass_flags.
389 nir_foreach_instr(instr, block) {
410 set_instr_indices(block);
420 nir_foreach_instr(current, block) {
474 nir_foreach_block(block, function->impl) {
475 process_block(block, grouping, max_distance);