/third_party/mesa3d/src/broadcom/compiler/ |
D | vir_to_qpu.c | 70 static struct qinst * 74 struct qinst *qinst = vir_add_inst(V3D_QPU_A_NOP, undef, undef, undef); in vir_nop() local 76 return qinst; in vir_nop() 79 static struct qinst * 80 new_qpu_nop_before(struct qinst *inst) in new_qpu_nop_before() 82 struct qinst *q = vir_nop(); in new_qpu_nop_before() 132 is_no_op_mov(struct qinst *qinst) in is_no_op_mov() argument 137 if (qinst->qpu.type != V3D_QPU_INSTR_TYPE_ALU || in is_no_op_mov() 138 qinst->qpu.alu.mul.op != V3D_QPU_M_MOV || in is_no_op_mov() 139 qinst->qpu.alu.add.op != V3D_QPU_A_NOP || in is_no_op_mov() [all …]
|
D | v3d_compiler.h | 151 struct qinst { struct 534 vir_before_inst(struct qinst *inst) in vir_before_inst() 540 vir_after_inst(struct qinst *inst) in vir_after_inst() 605 struct qinst **defs; 845 struct qinst *last_thrsw; 1003 vir_has_uniform(struct qinst *inst) in vir_has_uniform() 1032 struct qinst *vir_add_inst(enum v3d_qpu_add_op op, struct qreg dst, 1034 struct qinst *vir_mul_inst(enum v3d_qpu_mul_op op, struct qreg dst, 1036 struct qinst *vir_branch_inst(struct v3d_compile *c, 1038 void vir_remove_instruction(struct v3d_compile *c, struct qinst *qinst); [all …]
|
D | qpu_schedule.c | 49 struct qinst *inst; 281 struct qinst *qinst = n->inst; in calculate_deps() local 282 struct v3d_qpu_instr *inst = &qinst->qpu; in calculate_deps() 438 if (vir_has_uniform(qinst)) in calculate_deps() 524 struct qinst *qinst) in reads_too_soon_after_write() argument 526 const struct v3d_qpu_instr *inst = &qinst->qpu; in reads_too_soon_after_write() 564 struct qinst *qinst) in writes_too_soon_after_write() argument 566 const struct v3d_qpu_instr *inst = &qinst->qpu; in writes_too_soon_after_write() 1016 const struct qinst *qinst); 1448 struct qinst *inst) in insert_scheduled_instruction() [all …]
|
D | vir_opt_copy_propagate.c | 38 is_copy_mov(struct qinst *inst) in is_copy_mov() 101 vir_has_unpack(struct qinst *inst, int chan) in vir_has_unpack() 119 try_copy_prop(struct v3d_compile *c, struct qinst *inst, struct qinst **movs) in try_copy_prop() 136 struct qinst *mov = movs[inst->src[i].index]; in try_copy_prop() 210 apply_kills(struct v3d_compile *c, struct qinst **movs, struct qinst *inst) in apply_kills() 229 struct qinst **movs; in vir_opt_copy_propagate() 231 movs = ralloc_array(c, struct qinst *, c->num_temps); in vir_opt_copy_propagate() 239 memset(movs, 0, sizeof(struct qinst *) * c->num_temps); in vir_opt_copy_propagate()
|
D | vir_opt_dead_code.c | 43 dce(struct v3d_compile *c, struct qinst *inst) in dce() 55 has_nonremovable_reads(struct v3d_compile *c, struct qinst *inst) in has_nonremovable_reads() 66 can_write_to_null(struct v3d_compile *c, struct qinst *inst) in can_write_to_null() 76 vir_dce_flags(struct v3d_compile *c, struct qinst *inst) in vir_dce_flags() 95 struct qinst *inst, in check_last_ldunifa() 101 list_for_each_entry_from(struct qinst, scan_inst, inst->link.next, in check_last_ldunifa() 123 struct qinst *inst, in check_first_ldunifa() 125 struct qinst **unifa) in check_first_ldunifa() 130 list_for_each_entry_from_rev(struct qinst, scan_inst, inst->link.prev, in check_first_ldunifa() 152 increment_unifa_address(struct v3d_compile *c, struct qblock *block, struct qinst *unifa) in increment_unifa_address() [all …]
|
D | vir.c | 31 vir_get_nsrc(struct qinst *inst) in vir_get_nsrc() 51 vir_has_side_effects(struct v3d_compile *c, struct qinst *inst) in vir_has_side_effects() 103 vir_is_raw_mov(struct qinst *inst) in vir_is_raw_mov() 131 vir_is_add(struct qinst *inst) in vir_is_add() 138 vir_is_mul(struct qinst *inst) in vir_is_mul() 145 vir_is_tex(const struct v3d_device_info *devinfo, struct qinst *inst) in vir_is_tex() 159 vir_writes_r3(const struct v3d_device_info *devinfo, struct qinst *inst) in vir_writes_r3() 181 vir_writes_r4(const struct v3d_device_info *devinfo, struct qinst *inst) in vir_writes_r4() 205 vir_set_unpack(struct qinst *inst, int src, in vir_set_unpack() 225 vir_set_pack(struct qinst *inst, enum v3d_qpu_output_pack pack) in vir_set_pack() [all …]
|
D | vir_opt_redundant_flags.c | 36 vir_dce_pf(struct v3d_compile *c, struct qinst *inst) in vir_dce_pf() 52 vir_sources_modified(struct qinst *srcs, struct qinst *write) in vir_sources_modified() 71 vir_instr_flags_op_equal(struct qinst *a, struct qinst *b) in vir_instr_flags_op_equal() 99 struct qinst *last_flags = NULL; in vir_opt_redundant_flags_block()
|
D | vir_opt_constant_alu.c | 63 opt_constant_add(struct v3d_compile *c, struct qinst *inst, union fi *values) in opt_constant_add() 94 struct qinst *mov = vir_MOV_dest(c, dst, unif); in opt_constant_add() 103 try_opt_constant_alu(struct v3d_compile *c, struct qinst *inst) in try_opt_constant_alu() 132 struct qinst *def = c->defs[inst->src[i].index]; in try_opt_constant_alu()
|
D | vir_live_variables.c | 34 struct qinst *inst; 36 struct qinst *flags_inst; 50 struct partial_update_state *partial_update_ht, struct qinst *inst, in vir_setup_use() 51 struct qreg src, struct qinst *flags_inst) in vir_setup_use() 91 struct partial_update_state *partial_update, struct qinst *inst, in vir_setup_def() 92 struct qinst *flags_inst) in vir_setup_def() 161 struct qinst *flags_inst = NULL; in vir_setup_def_use()
|
D | qpu_validate.c | 110 qpu_validate_inst(struct v3d_qpu_validate_state *state, struct qinst *qinst) in qpu_validate_inst() argument 113 const struct v3d_qpu_instr *inst = &qinst->qpu; in qpu_validate_inst() 296 vir_for_each_inst(qinst, block) { in qpu_validate_block() 297 qpu_validate_inst(state, qinst); in qpu_validate_block() 299 state->last = &qinst->qpu; in qpu_validate_block()
|
D | vir_register_allocate.c | 38 struct qinst *inst) in qinst_writes_tmu() 47 struct qinst *inst, struct qblock *block) in is_end_of_tmu_sequence() 57 list_for_each_entry_from(struct qinst, scan_inst, inst->link.next, in is_end_of_tmu_sequence() 77 struct qinst *def = c->defs[temp]; in vir_is_mov_uniform() 217 static struct qinst * 226 v3d_emit_tmu_spill(struct v3d_compile *c, struct qinst *inst, in v3d_emit_tmu_spill() 227 struct qinst *position, uint32_t spill_offset) in v3d_emit_tmu_spill() 234 struct qinst *tmp = in v3d_emit_tmu_spill() 263 struct qinst *last_thrsw = c->last_thrsw; in v3d_spill_reg() 270 struct qinst *orig_unif = c->defs[spill_temp]; in v3d_spill_reg() [all …]
|
D | vir_dump.c | 148 vir_print_reg(struct v3d_compile *c, const struct qinst *inst, in vir_print_reg() 216 vir_dump_sig(struct v3d_compile *c, struct qinst *inst) in vir_dump_sig() 257 vir_dump_alu(struct v3d_compile *c, struct qinst *inst) in vir_dump_alu() 299 vir_dump_inst(struct v3d_compile *c, struct qinst *inst) in vir_dump_inst()
|
/third_party/mesa3d/src/gallium/drivers/vc4/ |
D | vc4_qpu_emit.c | 166 struct qinst *inst, uint64_t *unpack) in fixup_raddr_conflict() 205 set_last_dst_pack(struct qblock *block, struct qinst *inst) in set_last_dst_pack() 226 handle_r4_qpu_write(struct qblock *block, struct qinst *qinst, in handle_r4_qpu_write() argument 231 set_last_cond_add(block, qinst->cond); in handle_r4_qpu_write() 233 assert(qinst->cond == QPU_COND_ALWAYS); in handle_r4_qpu_write() 234 if (qinst->sf) in handle_r4_qpu_write() 246 qir_for_each_inst(qinst, block) { in vc4_generate_code_block() 249 qir_dump_inst(qinst); in vc4_generate_code_block() 297 struct qpu_reg src[ARRAY_SIZE(qinst->src)]; in vc4_generate_code_block() 298 for (int i = 0; i < qir_get_nsrc(qinst); i++) { in vc4_generate_code_block() [all …]
|
D | vc4_qir.c | 103 qir_get_non_sideband_nsrc(struct qinst *inst) in qir_get_non_sideband_nsrc() 110 qir_get_nsrc(struct qinst *inst) in qir_get_nsrc() 129 qir_get_tex_uniform_src(struct qinst *inst) in qir_get_tex_uniform_src() 139 qir_has_side_effects(struct vc4_compile *c, struct qinst *inst) in qir_has_side_effects() 160 qir_has_side_effect_reads(struct vc4_compile *c, struct qinst *inst) in qir_has_side_effect_reads() 184 qir_has_uniform_read(struct qinst *inst) in qir_has_uniform_read() 195 qir_is_mul(struct qinst *inst) in qir_is_mul() 214 qir_is_float_input(struct qinst *inst) in qir_is_float_input() 233 qir_is_raw_mov(struct qinst *inst) in qir_is_raw_mov() 244 qir_is_tex(struct qinst *inst) in qir_is_tex() [all …]
|
D | vc4_qir.h | 196 struct qinst { struct 398 struct qinst **defs; 525 struct qinst *qir_inst(enum qop op, struct qreg dst, 527 void qir_remove_instruction(struct vc4_compile *c, struct qinst *qinst); 535 struct qreg qir_emit_def(struct vc4_compile *c, struct qinst *inst); 536 struct qinst *qir_emit_nondef(struct vc4_compile *c, struct qinst *inst); 540 int qir_get_nsrc(struct qinst *inst); 541 int qir_get_non_sideband_nsrc(struct qinst *inst); 542 int qir_get_tex_uniform_src(struct qinst *inst); 544 bool qir_has_side_effects(struct vc4_compile *c, struct qinst *inst); [all …]
|
D | vc4_opt_copy_propagation.c | 38 is_copy_mov(struct qinst *inst) in is_copy_mov() 65 try_copy_prop(struct vc4_compile *c, struct qinst *inst, struct qinst **movs) in try_copy_prop() 82 struct qinst *mov = movs[inst->src[i].index]; in try_copy_prop() 157 apply_kills(struct vc4_compile *c, struct qinst **movs, struct qinst *inst) in apply_kills() 176 struct qinst **movs; in qir_opt_copy_propagation() 178 movs = ralloc_array(c, struct qinst *, c->num_temps); in qir_opt_copy_propagation() 186 memset(movs, 0, sizeof(struct qinst *) * c->num_temps); in qir_opt_copy_propagation()
|
D | vc4_opt_peephole_sf.c | 36 dump_from(struct vc4_compile *c, struct qinst *inst, const char *type) in dump_from() 47 dump_to(struct vc4_compile *c, struct qinst *inst) in dump_to() 58 inst_srcs_updated(struct qinst *inst, struct qinst *writer) in inst_srcs_updated() 90 inst_result_equals(struct qinst *a, struct qinst *b) in inst_result_equals() 118 struct qinst *last_sf = NULL; in qir_opt_peephole_sf_block()
|
D | vc4_opt_algebraic.c | 41 dump_from(struct vc4_compile *c, struct qinst *inst) in dump_from() 52 dump_to(struct vc4_compile *c, struct qinst *inst) in dump_to() 94 replace_with_mov(struct vc4_compile *c, struct qinst *inst, struct qreg arg) in replace_with_mov() 113 struct qinst *inst, in replace_x_0_with_x() 124 struct qinst *inst, in replace_x_0_with_0() 135 struct qinst *inst, in fmul_replace_one() 200 struct qinst *fsub = c->defs[inst->src[1].index]; in qir_opt_algebraic() 215 struct qinst *fsub = c->defs[inst->src[0].index]; in qir_opt_algebraic()
|
D | vc4_opt_constant_folding.c | 37 dump_from(struct vc4_compile *c, struct qinst *inst) in dump_from() 48 dump_to(struct vc4_compile *c, struct qinst *inst) in dump_to() 59 constant_fold(struct vc4_compile *c, struct qinst *inst) in constant_fold()
|
D | vc4_qir_emit_uniform_stream_resets.c | 65 struct qinst *load_imm = in qir_emit_uniform_stream_resets() 71 struct qinst *add = in qir_emit_uniform_stream_resets()
|
D | vc4_qir_lower_uniforms.c | 75 is_lowerable_uniform(struct qinst *inst, int i) in is_lowerable_uniform() 88 qir_get_instruction_uniform_count(struct qinst *inst) in qir_get_instruction_uniform_count() 154 struct qinst *mov = NULL; in qir_lower_uniforms()
|
D | vc4_qir_schedule.c | 47 struct qinst *inst; 161 struct qinst *inst = n->inst; in calculate_deps() 283 struct qinst *inst = n->inst; in calculate_forward_deps() 407 get_register_pressure_cost(struct schedule_state *state, struct qinst *inst) in get_register_pressure_cost() 436 locks_scoreboard(struct qinst *inst) in locks_scoreboard() 627 struct qinst *inst = chosen->inst; in schedule_instructions()
|
D | vc4_qir_validate.c | 28 fail_instr(struct vc4_compile *c, struct qinst *inst, const char *msg) in fail_instr() 50 struct qinst *def = c->defs[i]; in qir_validate()
|
D | vc4_opt_dead_code.c | 43 dce(struct vc4_compile *c, struct qinst *inst) in dce() 55 has_nonremovable_reads(struct vc4_compile *c, struct qinst *inst) in has_nonremovable_reads()
|
D | vc4_qir_live_variables.c | 33 struct qinst *insts[4]; 67 struct qinst *inst) in get_partial_update_state() 85 struct hash_table *partial_update_ht, struct qinst *inst) in qir_setup_def()
|