/external/mesa3d/src/amd/compiler/ |
D | aco_validate.cpp | 268 check(instr->definitions[0].getTemp().type() == RegType::sgpr, in validate_ir() 271 check(instr->definitions[0].getTemp().type() == RegType::vgpr, in validate_ir() 320 …check(instr->definitions[0].getTemp().type() == RegType::sgpr, "Wrong Definition type for SALU ins… in validate_ir() 364 if (instr->definitions[0].getTemp().type() == RegType::sgpr) { in validate_ir() 373 …check(instr->definitions[0].getTemp().type() == RegType::vgpr || instr->operands[0].regClass().typ… in validate_ir() 382 if (instr->operands[0].getTemp().type() == RegType::vgpr) { in validate_ir() 390 … check((instr->definitions[i].getTemp().type() == instr->operands[i].regClass().type()) || in validate_ir() 391 …(instr->definitions[i].getTemp().type() == RegType::vgpr && instr->operands[i].regClass().type() =… in validate_ir() 396 …check(instr->definitions[0].getTemp().type() == RegType::vgpr, "Logical Phi Definition must be vgp… in validate_ir() 399 … check(!op.isTemp() || op.getTemp().is_linear(), "Wrong Operand type", instr.get()); in validate_ir() [all …]
|
D | aco_register_allocation.cpp | 564 if (copy.first.getTemp() == other.second.getTemp()) { in update_renames() 565 copy.first.setTemp(other.first.getTemp()); in update_renames() 597 op.setTemp(copy.second.getTemp()); in update_renames() 957 killed_ops += instr->operands[j].getTemp().size(); in get_reg_impl() 1067 op.getTemp().type() == rc.type()) { in get_reg_impl() 1227 op.getTemp().type() == temp.type() && in get_reg() 1317 ….isTemp() || !instr->operands[i].isKillBeforeDef() || instr->operands[i].getTemp().type() != rc.ty… in get_reg_create_vector() 1370 instr->operands[j].getTemp().type() != rc.type()) in get_reg_create_vector() 1400 instr->operands[i].getTemp().type() != rc.type()) in get_reg_create_vector() 1456 if (def.getTemp().type() == RegType::sgpr) { in handle_pseudo() [all …]
|
D | aco_spill.cpp | 166 next_uses.erase(def.getTemp()); in next_uses_per_block() 176 next_uses[op.getTemp()] = {block_idx, idx}; in next_uses_per_block() 192 if (instr->operands[i].getTemp() == ctx.program->blocks[pred_idx].live_out_exec) in next_uses_per_block() 194 …if (ctx.next_use_distances_end[pred_idx].find(instr->operands[i].getTemp()) == ctx.next_use_distan… in next_uses_per_block() 195 …ctx.next_use_distances_end[pred_idx][instr->operands[i].getTemp()] != std::pair<uint32_t, uint32_t… in next_uses_per_block() 197 ctx.next_use_distances_end[pred_idx][instr->operands[i].getTemp()] = {block_idx, 0}; in next_uses_per_block() 200 next_uses.erase(instr->definitions[0].getTemp()); in next_uses_per_block() 292 if (ctx.remat.count(instr->operands[i].getTemp())) in do_reload() 293 ctx.remat_used[ctx.remat[instr->operands[i].getTemp()].instr] = true; in do_reload() 319 ctx.remat[def.getTemp()] = (remat_info){instr.get()}; in get_rematerialize_info() [all …]
|
D | aco_live_var_analysis.cpp | 43 changes += def.getTemp(); in get_live_changes() 49 changes -= op.getTemp(); in get_live_changes() 63 temp_registers += def.getTemp(); in get_temp_registers() 68 temp_registers += op.getTemp(); in get_temp_registers() 126 const Temp temp = definition.getTemp(); in process_live_temps_per_block() 158 const Temp temp = operand.getTemp(); in process_live_temps_per_block() 198 const Temp temp = definition.getTemp(); in process_live_temps_per_block() 246 if (insn->opcode == aco_opcode::p_phi && operand.getTemp().type() == RegType::sgpr) in process_live_temps_per_block()
|
D | aco_optimizer.cpp | 535 (instr->operands[0].isTemp() && instr->operands[0].getTemp().type() == RegType::sgpr)) in can_swap_operands() 740 Temp tmp = op.getTemp(); in parse_base_offset() 778 *base = add_instr->operands[!i].getTemp(); in parse_base_offset() 840 if (info.is_temp() && info.temp.regClass() == instr->operands[i].getTemp().regClass()) { in label_instruction() 871 … [] (const Definition& def) { return def.getTemp().type() != RegType::vgpr;}); in label_instruction() 903 …_use_mod = instr->opcode != aco_opcode::v_cndmask_b32 || instr->operands[i].getTemp().bytes() == 4; in label_instruction() 1103 ctx.info[instr->definitions[0].tempId()].set_temp(instr->operands[0].getTemp()); in label_instruction() 1188 ctx.info[instr->definitions[i].tempId()].set_temp(vec_op.getTemp()); in label_instruction() 1229 ctx.info[instr->definitions[0].tempId()].set_temp(op.getTemp()); in label_instruction() 1265 ctx.info[instr->definitions[0].tempId()].set_temp(instr->operands[0].getTemp()); in label_instruction() [all …]
|
D | aco_statistics.cpp | 56 vmem_clause_res.insert(instr->operands[0].getTemp()); in collect_preasm_stats() 66 smem_clause_res.insert(instr->operands[0].getTemp()); in collect_preasm_stats()
|
D | aco_lower_to_cssa.cpp | 101 if (op.isTemp() && op.getTemp() == ctx.program->blocks[preds[i]].live_out_exec) in collect_phi_info() 130 if (op.getTemp() == phi->operands[j].getTemp()) in collect_phi_info()
|
D | aco_insert_exec_mask.cpp | 114 if (def.getTemp().type() == RegType::vgpr) in pred_by_exec_mask() 241 set_needs_wqm(ctx, op.getTemp()); in get_block_needs() 381 Temp exec_mask = startpgm->definitions.back().getTemp(); in add_coupling_code() 742 instr->operands[0] = bld.scc(andn2->definitions[1].getTemp()); in process_instructions() 744 ctx.info[block->index].exec[i].first = andn2->definitions[0].getTemp(); in process_instructions() 813 cond = instr->operands[0].getTemp(); in process_instructions() 826 ctx.info[block->index].exec[i].first = andn2->definitions[0].getTemp(); in process_instructions() 827 exit_cond = andn2->definitions[1].getTemp(); in process_instructions() 967 bld.pseudo(aco_opcode::p_exit_early_if, bld.scc(andn2->definitions[1].getTemp())); in add_branch_code() 968 ctx.info[block->index].exec[i].first = andn2->definitions[0].getTemp(); in add_branch_code() [all …]
|
D | aco_instruction_selection.cpp | 145 mask_lo = Operand(mask_split.def(0).getTemp()); in emit_mbcnt() 146 mask_hi = Operand(mask_split.def(1).getTemp()); in emit_mbcnt() 205 …bld.sop1(aco_opcode::s_not_b32, bld.def(s1), bld.def(s1, scc), index_is_lo_split.def(1).getTemp()); in emit_bpermute() 206 …seudo(aco_opcode::p_create_vector, bld.def(s2), index_is_lo_split.def(0).getTemp(), index_is_lo_n1… in emit_bpermute() 414 elems[i] = vec->operands[i].getTemp(); in expand_vector() 1153 return add->definitions[0].getTemp(); in emit_floor_f64() 1263 Temp borrow = bld.vsub32(Definition(lower), Operand(0u), src0, true).def(1).getTemp(); in visit_alu_instr() 1294 …= bld.sop2(aco_opcode::s_or_b64, bld.def(s2), bld.def(s1, scc), src, Operand(0u)).def(1).getTemp(); in visit_alu_instr() 1502 Temp msb = sub.def(0).getTemp(); in visit_alu_instr() 1503 Temp carry = sub.def(1).getTemp(); in visit_alu_instr() [all …]
|
D | aco_opt_value_numbering.cpp | 396 ctx.renames[instr->definitions[0].tempId()] = instr->operands[0].getTemp(); in process_block() 413 ctx.renames[instr->definitions[i].tempId()] = orig_instr->definitions[i].getTemp(); in process_block()
|
D | aco_ir.h | 567 constexpr Temp getTemp() const noexcept in getTemp() function 747 return other.isTemp() && other.getTemp() == getTemp(); 803 constexpr Temp getTemp() const noexcept in getTemp() function
|
D | aco_ir.cpp | 274 if (instr->definitions[0].getTemp().type() == RegType::sgpr && chip == GFX8) in convert_to_SDWA()
|
D | aco_lower_phis.cpp | 265 Temp phi_src = phi->operands[i].getTemp(); in lower_subdword_phis()
|
D | aco_lower_to_hw_instr.cpp | 1608 if (preserve_scc && it->second.def.getTemp().type() == RegType::sgpr) in handle_operands() 1781 RegClass(instr->operands[0].getTemp().type(), def.size()); in lower_to_hw_instr() 1794 …const Definition def = Definition(reg, RegClass(instr->definitions[0].getTemp().type(), op.size())… in lower_to_hw_instr() 1806 RegClass(instr->definitions[0].getTemp().type(), op.size()); in lower_to_hw_instr() 1821 RegClass(instr->operands[0].getTemp().type(), def.size()); in lower_to_hw_instr()
|
D | aco_insert_NOPs.cpp | 564 return def.getTemp().type() == RegType::sgpr; in instr_writes_sgpr()
|
D | aco_insert_waitcnt.cpp | 409 for (unsigned j = 0; j < def.getTemp().size(); j++) in check_instr()
|