Lines Matching defs:block
38 Block* block;
243 handle_raw_hazard_internal(State& state, Block* block, int nops_needed, PhysReg reg, uint32_t mask,
246 if (block == state.block && start_at_end) {
247 /* If it's the current block, block->instructions is incomplete. */
251 break; /* Instruction has been moved to block->instructions. */
256 for (int pred_idx = block->instructions.size() - 1; pred_idx >= 0; pred_idx--) {
257 if (handle_raw_hazard_instr<Valu, Vintrp, Salu>(block->instructions[pred_idx], reg,
267 for (unsigned lin_pred : block->linear_preds) {
282 state, state.block, min_states, op.physReg(), u_bit_consecutive(0, op.size()), false);
475 nop->block = -1;
692 depctr->block = -1;
734 depctr->block = -1;
852 handle_block(Program* program, Ctx& ctx, Block& block)
854 if (block.instructions.empty())
859 state.block = █
860 state.old_instructions = std::move(block.instructions);
862 block.instructions.clear(); // Silence clang-analyzer-cplusplus.Move warning
863 block.instructions.reserve(state.old_instructions.size());
866 Handle(state, ctx, instr, block.instructions);
867 block.instructions.emplace_back(std::move(instr));
879 Block& block = program->blocks[i];
882 if (block.kind & block_kind_loop_header) {
884 } else if (block.kind & block_kind_loop_exit) {
903 for (unsigned b : block.linear_preds)
906 handle_block<Ctx, Handle>(program, ctx, block);