Home
last modified time | relevance | path

Searched refs:ir3_block (Results 1 – 25 of 29) sorted by relevance

12

/third_party/mesa3d/src/freedreno/ir3/
Dir3_lower_subgroups.c37 replace_pred(struct ir3_block *block, struct ir3_block *old_pred, in replace_pred()
38 struct ir3_block *new_pred) in replace_pred()
49 replace_physical_pred(struct ir3_block *block, struct ir3_block *old_pred, in replace_physical_pred()
50 struct ir3_block *new_pred) in replace_physical_pred()
61 mov_immed(struct ir3_register *dst, struct ir3_block *block, unsigned immed) in mov_immed()
74 static struct ir3_block *
75 split_block(struct ir3 *ir, struct ir3_block *before_block, in split_block()
76 struct ir3_instruction *instr, struct ir3_block **then) in split_block()
78 struct ir3_block *then_block = ir3_block_create(ir); in split_block()
79 struct ir3_block *after_block = ir3_block_create(ir); in split_block()
[all …]
Dir3_dominance.c35 static struct ir3_block *
36 intersect(struct ir3_block *b1, struct ir3_block *b2) in intersect()
54 calc_dominance(struct ir3_block *block) in calc_dominance()
56 struct ir3_block *new_idom = NULL; in calc_dominance()
58 struct ir3_block *pred = block->predecessors[i]; in calc_dominance()
77 calc_dfs_indices(struct ir3_block *block, unsigned index) in calc_dfs_indices()
121 ir3_block_dominates(struct ir3_block *a, struct ir3_block *b) in ir3_block_dominates()
Dir3.h44 struct ir3_block;
233 struct ir3_block *block;
310 struct ir3_block *target;
543 struct ir3_block { struct
569 struct ir3_block *successors[2]; argument
570 struct ir3_block *physical_successors[2]; argument
572 DECLARE_ARRAY(struct ir3_block *, predecessors);
573 DECLARE_ARRAY(struct ir3_block *, physical_predecessors);
589 struct ir3_block *imm_dom; argument
590 DECLARE_ARRAY(struct ir3_block *, dom_children);
[all …]
Dir3_remove_unreachable.c33 delete_block(struct ir3 *ir, struct ir3_block *block) in delete_block()
59 struct ir3_block *succ = block->successors[i]; in delete_block()
86 struct ir3_block *succ = block->physical_successors[i]; in delete_block()
98 struct ir3_block *pred = block->physical_predecessors[0]; in delete_block()
100 struct ir3_block *next = LIST_ENTRY(struct ir3_block, block->node.next, node); in delete_block()
Dir3_legalize.c83 legalize_block(struct ir3_legalize_ctx *ctx, struct ir3_block *block) in legalize_block()
101 struct ir3_block *predecessor = block->predecessors[i]; in legalize_block()
388 apply_fine_deriv_macro(struct ir3_legalize_ctx *ctx, struct ir3_block *block) in apply_fine_deriv_macro()
449 static struct ir3_block *
450 resolve_dest_block(struct ir3_block *block) in resolve_dest_block()
486 remove_unused_block(struct ir3_block *old_target) in remove_unused_block()
493 struct ir3_block *succ = old_target->successors[i]; in remove_unused_block()
500 retarget_jump(struct ir3_instruction *instr, struct ir3_block *new_target) in retarget_jump()
502 struct ir3_block *old_target = instr->cat0.target; in retarget_jump()
503 struct ir3_block *cur_block = instr->block; in retarget_jump()
[all …]
Dir3_spill.c144 struct ir3_block *start = ir3_start_block(ir); in add_base_reg()
208 compute_block_next_distance(struct ra_spill_ctx *ctx, struct ir3_block *block, in compute_block_next_distance()
253 const struct ir3_block *pred = block->predecessors[i]; in compute_block_next_distance()
640 struct ir3_block *block) in materialize_pcopy_src()
657 unsigned spill_slot, struct ir3_instruction *instr, struct ir3_block *block) in spill()
700 struct ir3_instruction *instr, struct ir3_block *block) in spill_interval()
774 struct ir3_instruction *after, struct ir3_block *block) in split()
799 struct ir3_instruction *after, struct ir3_block *block) in extract()
823 struct ir3_instruction *after, struct ir3_block *block) in reload()
866 struct ir3_block *block) in rewrite_src_interval()
[all …]
Dir3_delay.c123 distance(struct ir3_block *block, struct ir3_instruction *instr, unsigned maxd) in distance()
142 delay_calc_srcn_prera(struct ir3_block *block, struct ir3_instruction *assigner, in delay_calc_srcn_prera()
173 ir3_delay_calc_prera(struct ir3_block *block, struct ir3_instruction *instr) in ir3_delay_calc_prera()
306 delay_calc_postra(struct ir3_block *block, struct ir3_instruction *start, in delay_calc_postra()
367 struct ir3_block *pred = block->predecessors[i]; in delay_calc_postra()
391 ir3_delay_calc_postra(struct ir3_block *block, struct ir3_instruction *instr, in ir3_delay_calc_postra()
402 ir3_delay_calc_exact(struct ir3_block *block, struct ir3_instruction *instr, in ir3_delay_calc_exact()
Dir3.c346 insert_instr(struct ir3_block *block, struct ir3_instruction *instr) in insert_instr()
358 struct ir3_block *
361 struct ir3_block *block = ir3_alloc(shader, sizeof(*block)); in ir3_block_create()
372 ir3_block_add_predecessor(struct ir3_block *block, struct ir3_block *pred) in ir3_block_add_predecessor()
378 ir3_block_add_physical_predecessor(struct ir3_block *block, in ir3_block_add_physical_predecessor()
379 struct ir3_block *pred) in ir3_block_add_physical_predecessor()
385 ir3_block_remove_predecessor(struct ir3_block *block, struct ir3_block *pred) in ir3_block_remove_predecessor()
401 ir3_block_remove_physical_predecessor(struct ir3_block *block, struct ir3_block *pred) in ir3_block_remove_physical_predecessor()
417 ir3_block_get_pred_index(struct ir3_block *block, struct ir3_block *pred) in ir3_block_get_pred_index()
429 instr_create(struct ir3_block *block, opc_t opc, int ndst, int nsrc) in instr_create()
[all …]
Dir3_a6xx.c45 struct ir3_block *b = ctx->block; in emit_intrinsic_load_ssbo()
68 struct ir3_block *b = ctx->block; in emit_intrinsic_store_ssbo()
112 struct ir3_block *b = ctx->block; in emit_intrinsic_atomic_ssbo()
204 struct ir3_block *b = ctx->block; in emit_intrinsic_load_image()
228 struct ir3_block *b = ctx->block; in emit_intrinsic_store_image()
257 struct ir3_block *b = ctx->block; in emit_intrinsic_atomic_image()
351 struct ir3_block *b = ctx->block; in emit_intrinsic_image_size()
372 struct ir3_block *b = ctx->block; in emit_intrinsic_load_global_ir3()
397 struct ir3_block *b = ctx->block; in emit_intrinsic_store_global_ir3()
Dir3_context.h68 struct ir3_block *block; /* the current block */
69 struct ir3_block *in_block; /* block created for shader inputs */
207 struct ir3_instruction *ir3_create_collect(struct ir3_block *block,
210 void ir3_split_dest(struct ir3_block *block, struct ir3_instruction **dst,
Dir3_a4xx.c42 struct ir3_block *b = ctx->block; in emit_intrinsic_load_ssbo()
69 struct ir3_block *b = ctx->block; in emit_intrinsic_store_ssbo()
123 struct ir3_block *b = ctx->block; in emit_intrinsic_atomic_ssbo()
193 struct ir3_block *b = ctx->block; in get_image_offset()
236 struct ir3_block *b = ctx->block; in emit_intrinsic_load_image()
261 struct ir3_block *b = ctx->block; in emit_intrinsic_store_image()
298 struct ir3_block *b = ctx->block; in emit_intrinsic_atomic_image()
Dir3_array_to_ssa.c62 get_state(struct array_ctx *ctx, struct ir3_block *block, unsigned id) in get_state()
68 struct ir3_block *block,
72 read_value_end(struct array_ctx *ctx, struct ir3_block *block, in read_value_end()
85 read_value_beginning(struct array_ctx *ctx, struct ir3_block *block, in read_value_beginning()
198 lookup_live_in(struct array_ctx *ctx, struct ir3_block *block, unsigned id) in lookup_live_in()
Dir3_liveness.c39 compute_block_liveness(struct ir3_liveness *live, struct ir3_block *block, in compute_block_liveness()
79 const struct ir3_block *pred = block->predecessors[i]; in compute_block_liveness()
101 const struct ir3_block *pred = block->physical_predecessors[i]; in compute_block_liveness()
Dir3_compiler_nir.c81 struct ir3_block *block = ctx->block; in create_frag_input()
294 struct ir3_block *b = ctx->block; in emit_alu()
755 struct ir3_block *b = ctx->block; in emit_intrinsic_load_ubo_ldc()
779 struct ir3_block *b = ctx->block; in emit_intrinsic_load_ubo()
858 struct ir3_block *b = ctx->block; in emit_intrinsic_ssbo_size()
885 struct ir3_block *b = ctx->block; in emit_intrinsic_load_shared()
908 struct ir3_block *b = ctx->block; in emit_intrinsic_store_shared()
938 struct ir3_block *b = ctx->block; in emit_intrinsic_load_shared_ir3()
966 struct ir3_block *b = ctx->block; in emit_intrinsic_store_shared_ir3()
1009 struct ir3_block *b = ctx->block; in emit_intrinsic_atomic_shared()
[all …]
Dir3_context.c301 ir3_create_collect(struct ir3_block *block, struct ir3_instruction *const *arr, in ir3_create_collect()
358 ir3_split_dest(struct ir3_block *block, struct ir3_instruction **dst, in ir3_split_dest()
414 create_addr0(struct ir3_block *block, struct ir3_instruction *src, int align) in create_addr0()
453 create_addr1(struct ir3_block *block, unsigned const_val) in create_addr1()
512 struct ir3_block *b = ctx->block; in ir3_get_predicate()
568 struct ir3_block *block = ctx->block; in ir3_create_array_load()
608 struct ir3_block *block = ctx->block; in ir3_create_array_store()
Dir3_validate.c34 struct ir3_block *current_block;
106 validate_phi_src(struct ir3_validate_ctx *ctx, struct ir3_block *block, in validate_phi_src()
107 struct ir3_block *pred) in validate_phi_src()
350 is_physical_successor(struct ir3_block *block, struct ir3_block *succ) in is_physical_successor()
Dir3_ra_validate.c338 propagate_block(struct ra_val_ctx *ctx, struct ir3_block *block) in propagate_block()
348 struct ir3_block *succ = block->successors[i]; in propagate_block()
355 struct ir3_block *succ = block->physical_successors[i]; in propagate_block()
485 check_reaching_block(struct ra_val_ctx *ctx, struct ir3_block *block) in check_reaching_block()
495 struct ir3_block *succ = block->successors[i]; in check_reaching_block()
Dir3_print.c436 print_block(struct ir3_block *block, int lvl) in print_block()
447 struct ir3_block *pred = block->predecessors[i]; in print_block()
459 struct ir3_block *pred = block->physical_predecessors[i]; in print_block()
Dir3_merge_regs.c72 index_instrs(struct ir3_block *block, unsigned index) in index_instrs()
397 create_parallel_copy(struct ir3_block *block) in create_parallel_copy()
403 struct ir3_block *succ = block->successors[i]; in create_parallel_copy()
Dir3_ra.c364 struct ir3_block *block;
1628 read_register(struct ra_ctx *ctx, struct ir3_block *block, in read_register()
1647 struct ir3_block *pred = ctx->block->predecessors[i]; in handle_live_in()
1757 insert_liveout_copy(struct ir3_block *block, physreg_t dst, physreg_t src, in insert_liveout_copy()
1803 struct ir3_block **predecessors = in insert_live_in_move()
1810 struct ir3_block *pred = predecessors[i]; in insert_live_in_move()
1904 struct ir3_block *succ = ctx->block->successors[i]; in insert_live_out_move()
1941 handle_block(struct ra_ctx *ctx, struct ir3_block *block) in handle_block()
2101 struct ir3_block *start = ir3_start_block(v->ir); in calc_min_limit_pressure()
Dir3_lower_spill.c113 add_spill_reload_deps(struct ir3_block *block) in add_spill_reload_deps()
Dir3_dce.c68 remove_unused_by_block(struct ir3_block *block) in remove_unused_by_block()
Dir3_sched.c93 struct ir3_block *block; /* the current block */
1119 sched_block(struct ir3_sched_ctx *ctx, struct ir3_block *block) in sched_block()
1311 add_barrier_deps(struct ir3_block *block, struct ir3_instruction *instr) in add_barrier_deps()
Dir3_postsched.c66 struct ir3_block *block; /* the current block */
630 sched_block(struct ir3_postsched_ctx *ctx, struct ir3_block *block) in sched_block()
/third_party/mesa3d/src/freedreno/ir3/tests/
Ddelay.c127 struct ir3_block *block = ir3_start_block(ir); in fixup_wrmask()
164 struct ir3_block *block = in main()
165 list_first_entry(&ir->block_list, struct ir3_block, node); in main()

12