Home
last modified time | relevance | path

Searched refs:pred_idx (Results 1 – 14 of 14) sorted by relevance

/third_party/mesa3d/src/amd/compiler/
Daco_dominance.cpp51 for (unsigned pred_idx : block.logical_preds) { in dominator_tree() local
52 if ((int)program->blocks[pred_idx].logical_idom == -1) in dominator_tree()
56 new_logical_idom = pred_idx; in dominator_tree()
60 while ((int)pred_idx != new_logical_idom) { in dominator_tree()
61 if ((int)pred_idx > new_logical_idom) in dominator_tree()
62 pred_idx = program->blocks[pred_idx].logical_idom; in dominator_tree()
63 if ((int)pred_idx < new_logical_idom) in dominator_tree()
68 for (unsigned pred_idx : block.linear_preds) { in dominator_tree() local
69 if ((int)program->blocks[pred_idx].linear_idom == -1) in dominator_tree()
73 new_linear_idom = pred_idx; in dominator_tree()
[all …]
Daco_spill.cpp229 unsigned pred_idx = in next_uses_per_block() local
232 auto insert_result = ctx.next_use_distances_end[pred_idx].insert( in next_uses_per_block()
237 worklist = std::max(worklist, pred_idx + 1); in next_uses_per_block()
253 for (unsigned pred_idx : preds) { in next_uses_per_block() local
254 if (ctx.program->blocks[pred_idx].loop_nest_depth > block->loop_nest_depth) in next_uses_per_block()
256 auto insert_result = ctx.next_use_distances_end[pred_idx].insert( in next_uses_per_block()
266 worklist = std::max(worklist, pred_idx + 1); in next_uses_per_block()
603 unsigned pred_idx = block->linear_preds[0]; in init_live_in_vars() local
604 for (std::pair<Temp, uint32_t> pair : ctx.spills_exit[pred_idx]) { in init_live_in_vars()
616 pred_idx = block->logical_preds[0]; in init_live_in_vars()
[all …]
Daco_dead_code_analysis.cpp76 for (unsigned pred_idx : block.linear_preds) in process_block() local
77 ctx.current_block = std::max(ctx.current_block, (int)pred_idx); in process_block()
Daco_live_var_analysis.cpp226 for (unsigned pred_idx : block->linear_preds) in process_live_temps_per_block() local
227 phi_info[pred_idx].linear_phi_defs = linear_phi_defs; in process_live_temps_per_block()
240 for (unsigned pred_idx : preds) { in process_live_temps_per_block() local
241 auto it = lives.live_out[pred_idx].insert(t); in process_live_temps_per_block()
243 worklist = std::max(worklist, pred_idx + 1); in process_live_temps_per_block()
Daco_ssa_elimination.cpp73 uint32_t pred_idx = preds[i]; in collect_phi_info() local
74 auto& info_vec = phi->opcode == aco_opcode::p_phi ? ctx.logical_phi_info[pred_idx] in collect_phi_info()
75 : ctx.linear_phi_info[pred_idx]; in collect_phi_info()
77 ctx.empty_blocks[pred_idx] = false; in collect_phi_info()
Daco_insert_NOPs.cpp248 for (int pred_idx = state.old_instructions.size() - 1; pred_idx >= 0; pred_idx--) { in handle_raw_hazard_internal() local
249 aco_ptr<Instruction>& instr = state.old_instructions[pred_idx]; in handle_raw_hazard_internal()
256 for (int pred_idx = block->instructions.size() - 1; pred_idx >= 0; pred_idx--) { in handle_raw_hazard_internal() local
257 if (handle_raw_hazard_instr<Valu, Vintrp, Salu>(block->instructions[pred_idx], reg, in handle_raw_hazard_internal()
Daco_instruction_selection.cpp98 add_logical_edge(unsigned pred_idx, Block* succ) in add_logical_edge() argument
100 succ->logical_preds.emplace_back(pred_idx); in add_logical_edge()
104 add_linear_edge(unsigned pred_idx, Block* succ) in add_linear_edge() argument
106 succ->linear_preds.emplace_back(pred_idx); in add_linear_edge()
110 add_edge(unsigned pred_idx, Block* succ) in add_edge() argument
112 add_logical_edge(pred_idx, succ); in add_edge()
113 add_linear_edge(pred_idx, succ); in add_edge()
/third_party/mesa3d/src/freedreno/ir3/
Dir3_remove_unreachable.c63 unsigned pred_idx = ir3_block_get_pred_index(succ, block); in delete_block() local
68 bool swap_pred = pred_idx != succ->predecessors_count - 1; in delete_block()
75 phi->srcs[pred_idx] = phi->srcs[phi->srcs_count - 1]; in delete_block()
79 succ->predecessors[pred_idx] = in delete_block()
Dir3_merge_regs.c405 unsigned pred_idx = ir3_block_get_pred_index(succ, block); in create_parallel_copy() local
413 if ((phi->srcs[pred_idx]->flags & IR3_REG_SSA) && in create_parallel_copy()
414 !phi->srcs[pred_idx]->def) in create_parallel_copy()
433 if ((phi->srcs[pred_idx]->flags & IR3_REG_SSA) && in create_parallel_copy()
434 !phi->srcs[pred_idx]->def) in create_parallel_copy()
436 src[j++] = phi->srcs[pred_idx]; in create_parallel_copy()
459 if ((phi->srcs[pred_idx]->flags & IR3_REG_SSA) && in create_parallel_copy()
460 !phi->srcs[pred_idx]->def) in create_parallel_copy()
462 phi->srcs[pred_idx]->def = pcopy->dsts[j]; in create_parallel_copy()
463 phi->srcs[pred_idx]->flags = pcopy->dsts[j]->flags; in create_parallel_copy()
Dir3_spill.c1333 struct ir3_block *block, unsigned pred_idx) in is_live_in_pred() argument
1335 struct ir3_block *pred = block->predecessors[pred_idx]; in is_live_in_pred()
1338 def = def->instr->srcs[pred_idx]->def; in is_live_in_pred()
1348 struct ir3_block *block, unsigned pred_idx) in is_live_in_undef() argument
1353 return !def->instr->srcs[pred_idx]->def; in is_live_in_undef()
1358 struct ir3_block *block, unsigned pred_idx) in read_live_in() argument
1360 struct ir3_block *pred = block->predecessors[pred_idx]; in read_live_in()
1364 def = def->instr->srcs[pred_idx]->def; in read_live_in()
1461 struct ir3_block *block, unsigned pred_idx) in live_in_rewrite() argument
1463 struct ir3_block *pred = block->predecessors[pred_idx]; in live_in_rewrite()
[all …]
Dir3_ra_validate.c499 unsigned pred_idx = ir3_block_get_pred_index(succ, block); in check_reaching_block() local
503 if (instr->srcs[pred_idx]->def) in check_reaching_block()
504 check_reaching_src(ctx, instr, instr->srcs[pred_idx]); in check_reaching_block()
Dir3_validate.c109 unsigned pred_idx = ir3_block_get_pred_index(block, pred); in validate_phi_src() local
117 validate_src(ctx, phi, phi->srcs[pred_idx]); in validate_phi_src()
/third_party/mesa3d/src/gallium/drivers/freedreno/a2xx/
Dir2_nir.c931 unsigned pred = ctx->pred, pred_idx = ctx->pred_idx; in emit_if() local
950 instr->src[0] = ir2_src(pred_idx, 0, IR2_SRC_SSA); in emit_if()
958 ctx->pred_idx = instr->idx; in emit_if()
967 instr->src[0] = ir2_src(ctx->pred_idx, 0, IR2_SRC_SSA); in emit_if()
975 ctx->pred_idx = instr->idx; in emit_if()
982 instr->src[0] = ir2_src(ctx->pred_idx, 0, IR2_SRC_SSA); in emit_if()
990 ctx->pred_idx = instr->idx; in emit_if()
Dir2_private.h150 unsigned block_idx, pred_idx; member