Lines Matching defs:loop
40 /* This is used to stop GCM moving instruction out of a loop if the loop
44 * a loop.
57 /* The loop the block is nested inside or NULL */
58 nir_loop *loop;
119 nir_loop *loop = nir_cf_node_as_loop(node);
120 loop_instr_count += get_loop_instr_count(&loop->body);
134 nir_loop *loop, unsigned loop_depth, unsigned if_depth,
144 state->blocks[block->index].loop = loop;
149 gcm_build_block_info(&if_stmt->then_list, state, loop, loop_depth,
151 gcm_build_block_info(&if_stmt->else_list, state, loop, loop_depth,
156 nir_loop *loop = nir_cf_node_as_loop(node);
157 gcm_build_block_info(&loop->body, state, loop, loop_depth + 1, if_depth,
158 get_loop_instr_count(&loop->body));
499 /* If the instruction wasn't in a loop to begin with we don't want to push
502 nir_loop *loop = state->blocks[instr->block->index].loop;
503 if (loop == NULL)
509 /* If the loop only executes a single time i.e its wrapped in a:
513 if (loop->info->limiting_terminator == NULL && !loop->info->complex_loop &&
514 nir_block_ends_in_break(nir_loop_last_block(loop)))
521 * these calculations outside the loop causes register pressure.
525 * where the total loop instruction count is less than
595 /* Now see if we can evict the instruction from a loop */