Home
last modified time | relevance | path

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

/external/mesa3d/src/amd/compiler/
Daco_reduce_assign.cpp44 for (aco_ptr<Instruction>& instr : block.instructions) { in setup_reduce_temp()
70aco_ptr<Instruction> end{create_instruction<Instruction>(aco_opcode::p_end_linear_vgpr, Format::PS… in setup_reduce_temp()
75 std::vector<aco_ptr<Instruction>>::iterator it = block.instructions.begin(); in setup_reduce_temp()
88 std::vector<aco_ptr<Instruction>>::iterator it; in setup_reduce_temp()
99aco_ptr<Pseudo_instruction> create{create_instruction<Pseudo_instruction>(aco_opcode::p_start_line… in setup_reduce_temp()
111 …std::vector<aco_ptr<Instruction>>& instructions = program->blocks[last_top_level_block_idx].instru… in setup_reduce_temp()
139aco_ptr<Pseudo_instruction> create{create_instruction<Pseudo_instruction>(aco_opcode::p_start_line… in setup_reduce_temp()
146 …std::vector<aco_ptr<Instruction>>& instructions = program->blocks[last_top_level_block_idx].instru… in setup_reduce_temp()
Daco_insert_NOPs.cpp180 int get_wait_states(aco_ptr<Instruction>& instr) in get_wait_states()
203 aco_ptr<Instruction>& pred = block->instructions[pred_idx]; in handle_raw_hazard_internal()
289 aco_ptr<Instruction>& instr, int *NOPs) in handle_smem_clause_hazards()
314aco_ptr<Instruction>& instr, std::vector<aco_ptr<Instruction>>& new_instructions) in handle_instruction_gfx6()
425aco_ptr<SOPP_instruction> nop{create_instruction<SOPP_instruction>(aco_opcode::s_nop, Format::SOPP… in handle_instruction_gfx6()
517 bool check_written_regs(const aco_ptr<Instruction> &instr, const std::bitset<N> &check_regs) in check_written_regs()
530 void mark_read_regs(const aco_ptr<Instruction> &instr, std::bitset<N> &reg_reads) in mark_read_regs()
541 bool VALU_writes_sgpr(aco_ptr<Instruction>& instr) in VALU_writes_sgpr()
554 bool instr_writes_exec(const aco_ptr<Instruction>& instr) in instr_writes_exec()
561 bool instr_writes_sgpr(const aco_ptr<Instruction>& instr) in instr_writes_sgpr()
[all …]
Daco_form_hard_clauses.cpp39 void emit_clause(Builder& bld, unsigned num_instrs, aco_ptr<Instruction> *instrs) in emit_clause()
65 aco_ptr<Instruction> current_instrs[64]; in form_hard_clauses()
69 std::vector<aco_ptr<Instruction>> new_instructions; in form_hard_clauses()
74 aco_ptr<Instruction>& instr = block.instructions[i]; in form_hard_clauses()
Daco_spill.cpp158 aco_ptr<Instruction>& instr = block->instructions[idx]; in next_uses_per_block()
184 aco_ptr<Instruction>& instr = block->instructions[idx]; in next_uses_per_block()
243 bool should_rematerialize(aco_ptr<Instruction>& instr) in should_rematerialize()
268 aco_ptr<Instruction> do_reload(spill_ctx& ctx, Temp tmp, Temp new_name, uint32_t spill_id) in do_reload()
277 aco_ptr<Instruction> res; in do_reload()
299aco_ptr<Pseudo_instruction> reload{create_instruction<Pseudo_instruction>(aco_opcode::p_reload, Fo… in do_reload()
311 for (aco_ptr<Instruction>& instr : block.instructions) { in get_rematerialize_info()
337 aco_ptr<Instruction>& instr = block->instructions[idx]; in local_next_uses()
603 aco_ptr<Instruction>& phi = block->instructions[idx]; in init_live_in_vars()
640 aco_ptr<Instruction>& instr = block->instructions[i]; in init_live_in_vars()
[all …]
Daco_ssa_elimination.cpp48 for (aco_ptr<Instruction>& phi : block.instructions) { in collect_phi_info()
80 std::vector<aco_ptr<Instruction>>::iterator it = std::next(block.instructions.begin(), idx); in insert_parallelcopies()
81aco_ptr<Pseudo_instruction> pc{create_instruction<Pseudo_instruction>(aco_opcode::p_parallelcopy, … in insert_parallelcopies()
97 std::vector<aco_ptr<Instruction>>::iterator it = block.instructions.end(); in insert_parallelcopies()
100aco_ptr<Pseudo_instruction> pc{create_instruction<Pseudo_instruction>(aco_opcode::p_parallelcopy, … in insert_parallelcopies()
117 for (aco_ptr<Instruction>& instr : block->instructions) { in is_empty_block()
157 aco_ptr<Instruction> branch = std::move(block->instructions.back()); in try_remove_merge_block()
Daco_lower_phis.cpp94aco_ptr<Pseudo_instruction> phi{create_instruction<Pseudo_instruction>(aco_opcode::p_linear_phi, F… in get_ssa()
104 void insert_before_logical_end(Block *block, aco_ptr<Instruction> instr) in insert_before_logical_end()
106 auto IsLogicalEnd = [] (const aco_ptr<Instruction>& instr) -> bool { in insert_before_logical_end()
123 auto IsLogicalEnd = [] (const aco_ptr<Instruction>& instr) -> bool { in build_merge_code()
166 void lower_divergent_bool_phi(Program *program, ssa_state *state, Block *block, aco_ptr<Instruction… in lower_divergent_bool_phi()
254 void lower_subdword_phis(Program *program, Block *block, aco_ptr<Instruction>& phi) in lower_subdword_phis()
285 for (aco_ptr<Instruction>& phi : block.instructions) { in lower_phis()
Daco_insert_exec_mask.cpp99 bool pred_by_exec_mask(aco_ptr<Instruction>& instr) { in pred_by_exec_mask()
135 bool needs_exact(aco_ptr<Instruction>& instr) { in needs_exact()
216 aco_ptr<Instruction>& instr = block->instructions[i]; in get_block_needs()
371 std::vector<aco_ptr<Instruction>>& instructions) in add_coupling_code()
379 aco_ptr<Instruction>& startpgm = block->instructions[0]; in add_coupling_code()
419 aco_ptr<Pseudo_instruction> phi; in add_coupling_code()
431aco_ptr<Pseudo_instruction> phi{create_instruction<Pseudo_instruction>(aco_opcode::p_linear_phi, F… in add_coupling_code()
438aco_ptr<Pseudo_instruction> phi{create_instruction<Pseudo_instruction>(aco_opcode::p_linear_phi, F… in add_coupling_code()
483 aco_ptr<Instruction>& phi = header->instructions[k]; in add_coupling_code()
490 aco_ptr<Instruction>& phi = header->instructions[k++]; in add_coupling_code()
[all …]
Daco_register_allocation.cpp43 unsigned get_subdword_operand_stride(chip_class chip, const aco_ptr<Instruction>& instr, unsigned i…
44 void add_subdword_operand(ra_ctx& ctx, aco_ptr<Instruction>& instr, unsigned idx, unsigned byte, Re…
45 std::pair<unsigned, unsigned> get_subdword_definition_info(Program *program, const aco_ptr<Instruct…
46 void add_subdword_definition(Program *program, aco_ptr<Instruction>& instr, unsigned idx, PhysReg r…
75 aco_ptr<Instruction> pseudo_dummy;
98 DefInfo(ra_ctx& ctx, aco_ptr<Instruction>& instr, RegClass rc_, int operand) : rc(rc_) { in DefInfo()
321 unsigned get_subdword_operand_stride(chip_class chip, const aco_ptr<Instruction>& instr, unsigned i… in get_subdword_operand_stride()
370 void add_subdword_operand(ra_ctx& ctx, aco_ptr<Instruction>& instr, unsigned idx, unsigned byte, Re… in add_subdword_operand()
395 aco_ptr<Instruction> tmp = convert_to_SDWA(chip, instr); in add_subdword_operand()
437 std::pair<unsigned, unsigned> get_subdword_definition_info(Program *program, const aco_ptr<Instruct… in get_subdword_definition_info()
[all …]
Daco_dead_code_analysis.cpp59 aco_ptr<Instruction>& instr = block.instructions[idx]; in process_block()
100 aco_ptr<Instruction>& startpgm = program->blocks[0].instructions[0]; in dead_code_analysis()
Daco_optimizer.cpp77 aco_ptr<Instruction> add_instr;
82 mad_info(aco_ptr<Instruction> instr, uint32_t id) in mad_info()
513 std::vector<aco_ptr<Instruction>> instructions;
532 bool can_swap_operands(aco_ptr<Instruction>& instr) in can_swap_operands()
598 bool can_use_VOP3(opt_ctx& ctx, const aco_ptr<Instruction>& instr) in can_use_VOP3()
622 bool can_apply_sgprs(opt_ctx& ctx, aco_ptr<Instruction>& instr) in can_apply_sgprs()
633 void to_VOP3(opt_ctx& ctx, aco_ptr<Instruction>& instr) in to_VOP3()
638 aco_ptr<Instruction> tmp = std::move(instr); in to_VOP3()
678 bool valu_can_accept_vgpr(aco_ptr<Instruction>& instr, unsigned operand) in valu_can_accept_vgpr()
786 unsigned get_operand_size(aco_ptr<Instruction>& instr, unsigned index) in get_operand_size()
[all …]
Daco_scheduler.cpp152 aco_ptr<Instruction>& instr = block->instructions[source_idx]; in downwards_move()
210 aco_ptr<Instruction>& instr = block->instructions[source_idx]; in downwards_skip()
244 aco_ptr<Instruction>& instr = block->instructions[source_idx]; in upwards_check_deps()
262 aco_ptr<Instruction>& instr = block->instructions[source_idx]; in upwards_move()
305 aco_ptr<Instruction>& instr = block->instructions[source_idx]; in upwards_skip()
547 aco_ptr<Instruction>& candidate = block->instructions[candidate_idx]; in schedule_SMEM()
598 aco_ptr<Instruction>& candidate = block->instructions[candidate_idx]; in schedule_SMEM()
676 aco_ptr<Instruction>& candidate = block->instructions[candidate_idx]; in schedule_VMEM()
742 aco_ptr<Instruction>& candidate = block->instructions[candidate_idx]; in schedule_VMEM()
811 aco_ptr<Instruction>& candidate = block->instructions[candidate_idx]; in schedule_position_export()
Daco_ir.cpp159 bool can_use_SDWA(chip_class chip, const aco_ptr<Instruction>& instr) in can_use_SDWA()
222 aco_ptr<Instruction> convert_to_SDWA(chip_class chip, aco_ptr<Instruction>& instr) in convert_to_SDWA()
227 aco_ptr<Instruction> tmp = std::move(instr); in convert_to_SDWA()
Daco_live_var_analysis.cpp37 RegisterDemand get_live_changes(aco_ptr<Instruction>& instr) in get_live_changes()
55 RegisterDemand get_temp_registers(aco_ptr<Instruction>& instr) in get_temp_registers()
74 RegisterDemand get_demand_before(RegisterDemand demand, aco_ptr<Instruction>& instr, aco_ptr<Instru… in get_demand_before()
Daco_ir.h1326 using aco_ptr = std::unique_ptr<T, instr_deleter_functor>; variable
1374 static inline bool is_phi(aco_ptr<Instruction>& instr) in is_phi()
1384 bool can_use_SDWA(chip_class chip, const aco_ptr<Instruction>& instr);
1386 aco_ptr<Instruction> convert_to_SDWA(chip_class chip, aco_ptr<Instruction>& instr);
1482 std::vector<aco_ptr<Instruction>> instructions;
1777 RegisterDemand get_live_changes(aco_ptr<Instruction>& instr);
1778 RegisterDemand get_temp_registers(aco_ptr<Instruction>& instr);
1779 RegisterDemand get_demand_before(RegisterDemand demand, aco_ptr<Instruction>& instr, aco_ptr<Instru…
Daco_lower_to_cssa.cpp59 for (aco_ptr<Instruction>& phi : block.instructions) { in collect_phi_info()
183 std::vector<aco_ptr<Instruction>>::iterator it = block.instructions.end(); in insert_parallelcopies()
Daco_statistics.cpp48 for (aco_ptr<Instruction>& instr : block.instructions) { in collect_preasm_stats()
Daco_validate.cpp106 for (aco_ptr<Instruction>& instr : block.instructions) { in validate_ir()
564 bool validate_subdword_operand(chip_class chip, const aco_ptr<Instruction>& instr, unsigned index) in validate_subdword_operand()
616 bool validate_subdword_definition(chip_class chip, const aco_ptr<Instruction>& instr) in validate_subdword_definition()
647 unsigned get_subdword_bytes_written(Program *program, const aco_ptr<Instruction>& instr, unsigned i… in get_subdword_bytes_written()
708 for (aco_ptr<Instruction>& instr : block.instructions) { in validate_ra()
790 aco_ptr<Instruction>& instr = *it; in validate_ra()
827 for (aco_ptr<Instruction>& instr : block.instructions) { in validate_ra()
Daco_opt_value_numbering.cpp369 std::vector<aco_ptr<Instruction>> new_instructions; in process_block()
372 for (aco_ptr<Instruction>& instr : block.instructions) { in process_block()
438 for (aco_ptr<Instruction>& phi : block.instructions) { in rename_phi_operands()
Daco_instruction_selection.cpp370aco_ptr<Pseudo_instruction> split{create_instruction<Pseudo_instruction>(aco_opcode::p_split_vecto… in emit_split_vector()
402aco_ptr<Pseudo_instruction> vec{create_instruction<Pseudo_instruction>(aco_opcode::p_create_vector… in expand_vector()
514aco_ptr<Pseudo_instruction> create_vec{create_instruction<Pseudo_instruction>(aco_opcode::p_create… in byte_align_vector()
586aco_ptr<SDWA_instruction> sdwa{create_instruction<SDWA_instruction>(aco_opcode::v_mov_b32, asSDWA(… in convert_int()
690aco_ptr<Pseudo_instruction> vec_instr{create_instruction<Pseudo_instruction>(aco_opcode::p_create_… in get_alu_src()
723aco_ptr<SOP2_instruction> sop2{create_instruction<SOP2_instruction>(op, Format::SOP2, 2, writes_sc… in emit_sop2_instruction()
836 aco_ptr<Instruction> vopc; in emit_vopc_instruction()
969 aco_ptr<Instruction> bcsel; in emit_bcsel()
1175aco_ptr<Pseudo_instruction> vec{create_instruction<Pseudo_instruction>(aco_opcode::p_create_vector… in visit_alu_instr()
1590aco_ptr<VOP3A_instruction> add{create_instruction<VOP3A_instruction>(aco_opcode::v_add_u32, asVOP3… in visit_alu_instr()
[all …]
Daco_lower_to_hw_instr.cpp41 std::vector<aco_ptr<Instruction>> instructions;
524aco_ptr<SDWA_instruction> sdwa{create_instruction<SDWA_instruction>(aco_opcode::v_mov_b32, asSDWA(… in emit_reduction()
548aco_ptr<SDWA_instruction> sdwa{create_instruction<SDWA_instruction>(aco_opcode::v_mov_b32, asSDWA(… in emit_reduction()
809 void emit_gfx10_wave64_bpermute(Program *program, aco_ptr<Instruction> &instr, Builder &bld) in emit_gfx10_wave64_bpermute()
878 void emit_gfx6_bpermute(Program *program, aco_ptr<Instruction> &instr, Builder &bld) in emit_gfx6_bpermute()
1019 aco_ptr<SDWA_instruction> sdwa; in copy_constant()
1324 aco_ptr<Instruction> mov; in handle_operands()
1764 aco_ptr<Instruction>& instr = block->instructions[j]; in lower_to_hw_instr()
1765 aco_ptr<Instruction> mov; in lower_to_hw_instr()
1849 const aco_ptr<Instruction> &instr = block->instructions[k]; in lower_to_hw_instr()
Daco_insert_waitcnt.cpp852 void emit_waitcnt(wait_ctx& ctx, std::vector<aco_ptr<Instruction>>& instructions, wait_imm imm) in emit_waitcnt()
872 std::vector<aco_ptr<Instruction>> new_instructions; in handle_block()
876 for (aco_ptr<Instruction>& instr : block.instructions) { in handle_block()
Daco_assembler.cpp709 for (aco_ptr<Instruction>& instr : block.instructions) { in emit_block()
730 std::vector<aco_ptr<Instruction>>::reverse_iterator it = block.instructions.rbegin(); in fix_exports()
821 aco_ptr<Instruction> instr; in emit_long_jump()
/external/mesa3d/src/amd/compiler/tests/
Dtest_assembler.cpp238aco_ptr<VOP3A_instruction> add3{create_instruction<VOP3A_instruction>(aco_opcode::v_add3_u32, Form…
256aco_ptr<VOP3A_instruction> add3{create_instruction<VOP3A_instruction>(aco_opcode::v_add3_u32, Form…
Dhelpers.cpp110aco_ptr<Instruction> startpgm{create_instruction<Pseudo_instruction>(aco_opcode::p_startpgm, Forma… in setup_cs()