Home
last modified time | relevance | path

Searched refs:aco_ptr (Results 1 – 25 of 28) sorted by relevance

12

/third_party/mesa3d/src/amd/compiler/
Daco_reduce_assign.cpp47 for (aco_ptr<Instruction>& instr : block.instructions) { in setup_reduce_temp()
73 aco_ptr<Instruction> end{create_instruction<Instruction>( in setup_reduce_temp()
79 std::vector<aco_ptr<Instruction>>::iterator it = block.instructions.begin(); in setup_reduce_temp()
92 std::vector<aco_ptr<Instruction>>::iterator it; in setup_reduce_temp()
103 aco_ptr<Pseudo_instruction> create{create_instruction<Pseudo_instruction>( in setup_reduce_temp()
116 std::vector<aco_ptr<Instruction>>& instructions = in setup_reduce_temp()
145 aco_ptr<Pseudo_instruction> create{create_instruction<Pseudo_instruction>( in setup_reduce_temp()
153 std::vector<aco_ptr<Instruction>>& instructions = in setup_reduce_temp()
Daco_insert_NOPs.cpp39 std::vector<aco_ptr<Instruction>> old_instructions;
190 get_wait_states(aco_ptr<Instruction>& instr) in get_wait_states()
208 handle_raw_hazard_instr(aco_ptr<Instruction>& pred, PhysReg reg, int* nops_needed, uint32_t* mask) in handle_raw_hazard_instr()
243 aco_ptr<Instruction>& instr = state.old_instructions[pred_idx]; in handle_raw_hazard_internal()
324 handle_smem_clause_hazards(Program* program, NOP_ctx_gfx6& ctx, aco_ptr<Instruction>& instr, in handle_smem_clause_hazards()
352 handle_instruction_gfx6(State& state, NOP_ctx_gfx6& ctx, aco_ptr<Instruction>& instr, in handle_instruction_gfx6()
353 std::vector<aco_ptr<Instruction>>& new_instructions) in handle_instruction_gfx6()
466 aco_ptr<SOPP_instruction> nop{ in handle_instruction_gfx6()
558 check_written_regs(const aco_ptr<Instruction>& instr, const std::bitset<N>& check_regs) in check_written_regs()
574 mark_read_regs(const aco_ptr<Instruction>& instr, std::bitset<N>& reg_reads) in mark_read_regs()
[all …]
Daco_statistics.cpp74 unsigned predict_cost(aco_ptr<Instruction>& instr);
75 void add(aco_ptr<Instruction>& instr);
80 unsigned get_dependency_cost(aco_ptr<Instruction>& instr);
82 void use_resources(aco_ptr<Instruction>& instr);
83 int32_t cycles_until_res_available(aco_ptr<Instruction>& instr);
108 get_perf_info(Program* program, aco_ptr<Instruction>& instr) in get_perf_info()
183 BlockCycleEstimator::use_resources(aco_ptr<Instruction>& instr) in use_resources()
199 BlockCycleEstimator::cycles_until_res_available(aco_ptr<Instruction>& instr) in cycles_until_res_available()
213 get_wait_counter_info(aco_ptr<Instruction>& instr) in get_wait_counter_info()
259 get_wait_imm(Program* program, aco_ptr<Instruction>& instr) in get_wait_imm()
[all …]
Daco_spill.cpp186 aco_ptr<Instruction>& instr = block->instructions[idx]; in next_uses_per_block()
211 aco_ptr<Instruction>& instr = block->instructions[idx]; in next_uses_per_block()
282 should_rematerialize(aco_ptr<Instruction>& instr) in should_rematerialize()
309 aco_ptr<Instruction>
322 aco_ptr<Instruction> res; in do_reload()
348 aco_ptr<Pseudo_instruction> reload{ in do_reload()
362 for (aco_ptr<Instruction>& instr : block.instructions) { in get_rematerialize_info()
397 aco_ptr<Instruction>& instr = block->instructions[idx]; in update_local_next_uses()
439 aco_ptr<Instruction>& instr = ctx.program->blocks[block_idx].instructions[idx]; in get_demand_before()
440 aco_ptr<Instruction> instr_before(nullptr); in get_demand_before()
[all …]
Daco_form_hard_clauses.cpp42 emit_clause(Builder& bld, unsigned num_instrs, aco_ptr<Instruction>* instrs) in emit_clause()
69 aco_ptr<Instruction> current_instrs[64]; in form_hard_clauses()
72 std::vector<aco_ptr<Instruction>> new_instructions; in form_hard_clauses()
77 aco_ptr<Instruction>& instr = block.instructions[i]; in form_hard_clauses()
Daco_ssa_elimination.cpp59 for (aco_ptr<Instruction>& phi : block.instructions) { in collect_phi_info()
99 std::vector<aco_ptr<Instruction>>::iterator it = std::next(block.instructions.begin(), idx); in insert_parallelcopies()
100 aco_ptr<Pseudo_instruction> pc{ in insert_parallelcopies()
121 std::vector<aco_ptr<Instruction>>::iterator it = block.instructions.end(); in insert_parallelcopies()
124 aco_ptr<Pseudo_instruction> pc{ in insert_parallelcopies()
143 for (aco_ptr<Instruction>& instr : block->instructions) { in is_empty_block()
183 aco_ptr<Instruction> branch = std::move(block->instructions.back()); in try_remove_merge_block()
330 aco_ptr<Instruction>& instr = block.instructions[i]; in eliminate_useless_exec_writes_in_block()
Daco_lower_phis.cpp110 aco_ptr<Pseudo_instruction> phi{ in get_ssa()
123 insert_before_logical_end(Block* block, aco_ptr<Instruction> instr) in insert_before_logical_end()
125 auto IsLogicalEnd = [](const aco_ptr<Instruction>& inst) -> bool in insert_before_logical_end()
147 auto IsLogicalEnd = [](const aco_ptr<Instruction>& instr) -> bool in build_merge_code()
196 init_any_pred_defined(Program* program, ssa_state* state, Block* block, aco_ptr<Instruction>& phi) in init_any_pred_defined()
253 aco_ptr<Instruction>& phi) in lower_divergent_bool_phi()
312 lower_subdword_phis(Program* program, Block* block, aco_ptr<Instruction>& phi) in lower_subdword_phis()
345 for (aco_ptr<Instruction>& phi : block.instructions) { in lower_phis()
Daco_insert_exec_mask.cpp100 needs_exact(aco_ptr<Instruction>& instr) in needs_exact()
153 aco_ptr<Instruction>& instr = block->instructions[i]; in get_block_needs()
405 add_coupling_code(exec_ctx& ctx, Block* block, std::vector<aco_ptr<Instruction>>& instructions) in add_coupling_code()
413 aco_ptr<Instruction>& startpgm = block->instructions[0]; in add_coupling_code()
455 aco_ptr<Pseudo_instruction> phi; in add_coupling_code()
468 aco_ptr<Pseudo_instruction> phi{create_instruction<Pseudo_instruction>( in add_coupling_code()
476 aco_ptr<Pseudo_instruction> phi{create_instruction<Pseudo_instruction>( in add_coupling_code()
525 aco_ptr<Instruction>& phi = header->instructions[instr_idx]; in add_coupling_code()
534 aco_ptr<Instruction>& phi = header->instructions[instr_idx++]; in add_coupling_code()
542 aco_ptr<Instruction>& phi = header->instructions[instr_idx]; in add_coupling_code()
[all …]
Daco_optimizer_postRA.cpp88 save_reg_writes(pr_opt_ctx& ctx, aco_ptr<Instruction>& instr) in save_reg_writes()
181 try_apply_branch_vcc(pr_opt_ctx& ctx, aco_ptr<Instruction>& instr) in try_apply_branch_vcc()
239 try_optimize_scc_nocompare(pr_opt_ctx& ctx, aco_ptr<Instruction>& instr) in try_optimize_scc_nocompare()
376 try_combine_dpp(pr_opt_ctx& ctx, aco_ptr<Instruction>& instr) in try_combine_dpp()
439 process_instruction(pr_opt_ctx& ctx, aco_ptr<Instruction>& instr) in process_instruction()
470 for (aco_ptr<Instruction>& instr : block.instructions) in optimize_postRA()
480 [&ctx](const aco_ptr<Instruction>& instr) in optimize_postRA()
Daco_optimizer.cpp76 aco_ptr<Instruction> add_instr;
81 mad_info(aco_ptr<Instruction> instr, uint32_t id) in mad_info()
470 std::vector<aco_ptr<Instruction>> instructions;
478 can_use_VOP3(opt_ctx& ctx, const aco_ptr<Instruction>& instr) in can_use_VOP3()
502 pseudo_propagate_temp(opt_ctx& ctx, aco_ptr<Instruction>& instr, Temp temp, unsigned index) in pseudo_propagate_temp()
565 can_apply_sgprs(opt_ctx& ctx, aco_ptr<Instruction>& instr) in can_apply_sgprs()
579 to_VOP3(opt_ctx& ctx, aco_ptr<Instruction>& instr) in to_VOP3()
584 aco_ptr<Instruction> tmp = std::move(instr); in to_VOP3()
608 to_SDWA(opt_ctx& ctx, aco_ptr<Instruction>& instr) in to_SDWA()
610 aco_ptr<Instruction> tmp = convert_to_SDWA(ctx.program->chip_class, instr); in to_SDWA()
[all …]
Daco_register_allocation.cpp40 unsigned get_subdword_operand_stride(chip_class chip, const aco_ptr<Instruction>& instr,
42 void add_subdword_operand(ra_ctx& ctx, aco_ptr<Instruction>& instr, unsigned idx, unsigned byte,
45 get_subdword_definition_info(Program* program, const aco_ptr<Instruction>& instr, RegClass rc);
46 void add_subdword_definition(Program* program, aco_ptr<Instruction>& instr, PhysReg reg);
73 aco_ptr<Instruction> pseudo_dummy;
199 DefInfo(ra_ctx& ctx, aco_ptr<Instruction>& instr, RegClass rc_, int operand) : rc(rc_) in DefInfo()
469 get_subdword_operand_stride(chip_class chip, const aco_ptr<Instruction>& instr, unsigned idx, in get_subdword_operand_stride()
509 add_subdword_operand(ra_ctx& ctx, aco_ptr<Instruction>& instr, unsigned idx, unsigned byte, in add_subdword_operand()
574 get_subdword_definition_info(Program* program, const aco_ptr<Instruction>& instr, RegClass rc) in get_subdword_definition_info()
631 add_subdword_definition(Program* program, aco_ptr<Instruction>& instr, PhysReg reg) in add_subdword_definition()
[all …]
Daco_dead_code_analysis.cpp62 aco_ptr<Instruction>& instr = block.instructions[idx]; in process_block()
106 aco_ptr<Instruction>& startpgm = program->blocks[0].instructions[0]; in dead_code_analysis()
Daco_ir.cpp185 can_use_SDWA(chip_class chip, const aco_ptr<Instruction>& instr, bool pre_ra) in can_use_SDWA()
250 aco_ptr<Instruction>
251 convert_to_SDWA(chip_class chip, aco_ptr<Instruction>& instr) in convert_to_SDWA()
256 aco_ptr<Instruction> tmp = std::move(instr); in convert_to_SDWA()
295 can_use_DPP(const aco_ptr<Instruction>& instr, bool pre_ra) in can_use_DPP()
333 aco_ptr<Instruction>
334 convert_to_DPP(aco_ptr<Instruction>& instr) in convert_to_DPP()
339 aco_ptr<Instruction> tmp = std::move(instr); in convert_to_DPP()
674 can_swap_operands(aco_ptr<Instruction>& instr, aco_opcode* new_op) in can_swap_operands()
Daco_reindex_ssa.cpp38 reindex_defs(idx_ctx& ctx, aco_ptr<Instruction>& instr) in reindex_defs()
52 reindex_ops(idx_ctx& ctx, aco_ptr<Instruction>& instr) in reindex_ops()
Daco_scheduler.cpp210 aco_ptr<Instruction>& instr = block->instructions[cursor.source_idx]; in downwards_move()
284 aco_ptr<Instruction>& instr = block->instructions[cursor.source_idx]; in downwards_skip()
337 aco_ptr<Instruction>& instr = block->instructions[cursor.source_idx]; in upwards_check_deps()
357 aco_ptr<Instruction>& instr = block->instructions[cursor.source_idx]; in upwards_move()
405 aco_ptr<Instruction>& instr = block->instructions[cursor.source_idx]; in upwards_skip()
665 aco_ptr<Instruction>& candidate = block->instructions[candidate_idx]; in schedule_SMEM()
727 aco_ptr<Instruction>& candidate = block->instructions[candidate_idx]; in schedule_SMEM()
807 aco_ptr<Instruction>& candidate = block->instructions[candidate_idx]; in schedule_VMEM()
901 aco_ptr<Instruction>& candidate = block->instructions[candidate_idx]; in schedule_VMEM()
973 aco_ptr<Instruction>& candidate = block->instructions[candidate_idx]; in schedule_position_export()
Daco_lower_to_cssa.cpp80 for (aco_ptr<Instruction>& phi : block.instructions) { in collect_parallelcopies()
420 aco_ptr<Pseudo_instruction> copy{create_instruction<Pseudo_instruction>( in emit_copies_block()
487 auto IsLogicalEnd = [](const aco_ptr<Instruction>& inst) -> bool in emit_parallelcopies()
497 aco_ptr<Instruction> branch = std::move(block.instructions.back()); in emit_parallelcopies()
507 for (aco_ptr<Instruction>& phi : block.instructions) { in emit_parallelcopies()
Daco_live_var_analysis.cpp35 get_live_changes(aco_ptr<Instruction>& instr) in get_live_changes()
54 get_temp_registers(aco_ptr<Instruction>& instr) in get_temp_registers()
74 get_demand_before(RegisterDemand demand, aco_ptr<Instruction>& instr, in get_demand_before()
75 aco_ptr<Instruction>& instr_before) in get_demand_before()
Daco_ir.h1693 template <typename T> using aco_ptr = std::unique_ptr<T, instr_deleter_functor>; variable
1751 is_phi(aco_ptr<Instruction>& instr) in is_phi()
1762 bool can_use_SDWA(chip_class chip, const aco_ptr<Instruction>& instr, bool pre_ra);
1763 bool can_use_DPP(const aco_ptr<Instruction>& instr, bool pre_ra);
1765 aco_ptr<Instruction> convert_to_SDWA(chip_class chip, aco_ptr<Instruction>& instr);
1766 aco_ptr<Instruction> convert_to_DPP(aco_ptr<Instruction>& instr);
1776 bool can_swap_operands(aco_ptr<Instruction>& instr, aco_opcode* new_op);
1883 std::vector<aco_ptr<Instruction>> instructions;
2217 RegisterDemand get_live_changes(aco_ptr<Instruction>& instr);
2218 RegisterDemand get_temp_registers(aco_ptr<Instruction>& instr);
[all …]
Daco_opt_value_numbering.cpp324 can_eliminate(aco_ptr<Instruction>& instr) in can_eliminate()
358 std::vector<aco_ptr<Instruction>> new_instructions; in process_block()
361 for (aco_ptr<Instruction>& instr : block.instructions) { in process_block()
429 for (aco_ptr<Instruction>& phi : block.instructions) { in rename_phi_operands()
Daco_validate.cpp114 for (aco_ptr<Instruction>& instr : block.instructions) { in validate_ir()
711 validate_subdword_operand(chip_class chip, const aco_ptr<Instruction>& instr, unsigned index) in validate_subdword_operand()
765 validate_subdword_definition(chip_class chip, const aco_ptr<Instruction>& instr) in validate_subdword_definition()
796 get_subdword_bytes_written(Program* program, const aco_ptr<Instruction>& instr, unsigned index) in get_subdword_bytes_written()
856 for (aco_ptr<Instruction>& instr : block.instructions) { in validate_ra()
956 aco_ptr<Instruction>& instr = *it; in validate_ra()
996 for (aco_ptr<Instruction>& instr : block.instructions) { in validate_ra()
Daco_instruction_selection.cpp391 aco_ptr<Pseudo_instruction> split{create_instruction<Pseudo_instruction>( in emit_split_vector()
425 aco_ptr<Pseudo_instruction> vec{create_instruction<Pseudo_instruction>( in expand_vector()
546 aco_ptr<Pseudo_instruction> create_vec{create_instruction<Pseudo_instruction>( in byte_align_vector()
732 aco_ptr<Pseudo_instruction> vec_instr{create_instruction<Pseudo_instruction>( in get_alu_src()
798 aco_ptr<SOP2_instruction> sop2{ in emit_sop2_instruction()
985 aco_ptr<Instruction> vopc; in emit_vopc_instruction()
1090 aco_ptr<Instruction> bcsel; in emit_bcsel()
1334 aco_ptr<Pseudo_instruction> vec{create_instruction<Pseudo_instruction>( in visit_alu_instr()
2443 aco_ptr<Instruction> norm; in visit_alu_instr()
3305 aco_ptr<Instruction> sop2; in visit_alu_instr()
[all …]
Daco_insert_waitcnt.cpp709 emit_waitcnt(wait_ctx& ctx, std::vector<aco_ptr<Instruction>>& instructions, wait_imm& imm) in emit_waitcnt()
733 std::vector<aco_ptr<Instruction>> new_instructions; in handle_block()
737 for (aco_ptr<Instruction>& instr : block.instructions) { in handle_block()
/third_party/mesa3d/src/amd/compiler/tests/
Dtest_assembler.cpp240aco_ptr<VOP3_instruction> add3{create_instruction<VOP3_instruction>(aco_opcode::v_add3_u32, Format…
258aco_ptr<VOP3_instruction> add3{create_instruction<VOP3_instruction>(aco_opcode::v_add3_u32, Format…
Dtest_insert_nops.cpp36 aco_ptr<MIMG_instruction> mimg{create_instruction<MIMG_instruction>( in create_mimg()
Dtest_hard_clause.cpp70 aco_ptr<MIMG_instruction> mimg{create_instruction<MIMG_instruction>( in create_mimg()

12