Home
last modified time | relevance | path

Searched refs:getTemp (Results 1 – 20 of 20) sorted by relevance

/third_party/mesa3d/src/amd/compiler/
Daco_validate.cpp303 check(instr->definitions[0].getTemp().type() == RegType::sgpr, in validate_ir()
306 check(instr->definitions[0].getTemp().type() == RegType::vgpr, in validate_ir()
364 check(instr->definitions[0].getTemp().type() == RegType::sgpr, in validate_ir()
383 if (instr->definitions[0].getTemp().type() == RegType::sgpr) { in validate_ir()
395 check(instr->definitions[0].getTemp().type() == RegType::vgpr || in validate_ir()
410 if (instr->operands[0].getTemp().type() == RegType::vgpr) { in validate_ir()
426 check((instr->definitions[i].getTemp().type() == in validate_ir()
428 (instr->definitions[i].getTemp().type() == RegType::vgpr && in validate_ir()
443 check(instr->definitions[0].getTemp().type() == RegType::vgpr, in validate_ir()
450 check(!op.isTemp() || op.getTemp().is_linear(), "Wrong Operand type", in validate_ir()
[all …]
Daco_live_var_analysis.cpp41 changes += def.getTemp(); in get_live_changes()
47 changes -= op.getTemp(); in get_live_changes()
62 temp_registers += def.getTemp(); in get_temp_registers()
67 temp_registers += op.getTemp(); in get_temp_registers()
124 const Temp temp = definition.getTemp(); in process_live_temps_per_block()
152 const Temp temp = operand.getTemp(); in process_live_temps_per_block()
194 const Temp temp = definition.getTemp(); in process_live_temps_per_block()
203 assert(definition.getTemp().type() == RegType::sgpr); in process_live_temps_per_block()
249 if (insn->opcode == aco_opcode::p_phi && operand.getTemp().type() == RegType::sgpr) { in process_live_temps_per_block()
252 assert(operand.getTemp().type() == RegType::sgpr); in process_live_temps_per_block()
Daco_lower_to_cssa.cpp140 set.emplace(std::next(set.begin()), def.getTemp()); in collect_parallelcopies()
142 set.emplace(set.begin(), def.getTemp()); in collect_parallelcopies()
144 set.emplace_back(def.getTemp()); in collect_parallelcopies()
145 ctx.merge_node_table[def.tempId()] = {Operand(def.getTemp()), index, block.index}; in collect_parallelcopies()
208 if (cp.def.getTemp() == var) in intersects()
210 if (cp.op.isTemp() && cp.op.getTemp() == parent) in intersects()
228 if (def.getTemp() == var) in intersects()
236 if (op.getTemp() == parent) in intersects()
364 merge_set op_set = merge_set{copy.op.getTemp()}; in try_coalesce_copy()
365 return try_merge_merge_set(ctx, copy.def.getTemp(), op_set); in try_coalesce_copy()
[all …]
Daco_spill.cpp193 next_use_distances_start.erase(def.getTemp()); in next_uses_per_block()
203 next_use_distances_start[op.getTemp()] = {block_idx, idx}; in next_uses_per_block()
216 …t = instr->definitions[0].isTemp() ? next_use_distances_start.find(instr->definitions[0].getTemp()) in next_uses_per_block()
219 phi_defs.insert(instr->definitions[0].getTemp()).second) { in next_uses_per_block()
228 std::make_pair(instr->operands[i].getTemp(), distance)); in next_uses_per_block()
341 if (ctx.remat.count(instr->operands[i].getTemp())) in do_reload()
342 ctx.unused_remats.erase(ctx.remat[instr->operands[i].getTemp()].instr); in do_reload()
370 ctx.remat[def.getTemp()] = remat_info{instr.get()}; in get_rematerialize_info()
414 [op](auto& pair) { return pair.first == op.getTemp(); }); in update_local_next_uses()
416 local_next_uses[idx].push_back(std::make_pair<Temp, uint32_t>(op.getTemp(), idx)); in update_local_next_uses()
[all …]
Daco_register_allocation.cpp743 if (def.isTemp() && def.getTemp() == it->first.getTemp()) { in update_renames()
760 if (it->first.getTemp() == other.second.getTemp()) { in update_renames()
810 op.setTemp(copy.second.getTemp()); in update_renames()
1171 killed_ops += op.getTemp().size(); in get_reg_impl()
1271 if (op.isTemp() && op.isFirstKillBeforeDef() && op.getTemp().type() == rc.type()) { in get_reg_impl()
1491 if (op.isTemp() && op.tempId() != temp.id() && op.getTemp().type() == temp.type() && in get_reg_vector()
1650 instr->operands[i].getTemp().type() != rc.type()) in get_reg_create_vector()
1711 instr->operands[j].getTemp().type() != rc.type()) in get_reg_create_vector()
1744 instr->operands[i].getTemp().type() != rc.type()) in get_reg_create_vector()
1797 if (def.getTemp().regClass().is_linear()) in handle_pseudo()
[all …]
Daco_optimizer.cpp604 return op.isTemp() && op.getTemp().type() == RegType::vgpr; in is_operand_vgpr()
716 Temp tmp = op.getTemp(); in parse_base_offset()
752 *base = add_instr->operands[!i].getTemp(); in parse_base_offset()
824 Temp tmp = info.instr->operands[0].getTemp(); in can_apply_extract()
853 Temp tmp = info.instr->operands[0].getTemp(); in apply_extract()
899 if (info.is_extract() && (info.instr->operands[0].getTemp().type() == RegType::vgpr || in check_sdwa_extract()
900 op.getTemp().type() == RegType::sgpr)) { in check_sdwa_extract()
988 while (info.is_temp() && info.temp.regClass() == instr->operands[i].getTemp().regClass()) { in label_instruction()
1029 instr->opcode != aco_opcode::v_cndmask_b32 || instr->operands[i].getTemp().bytes() == 4; in label_instruction()
1267 ctx.info[instr->definitions[0].tempId()].set_temp(instr->operands[0].getTemp()); in label_instruction()
[all …]
Daco_insert_exec_mask.cpp180 set_needs_wqm(ctx, op.getTemp()); in get_block_needs()
729 .getTemp(); in process_instructions()
735 ctx.info[block->index].exec[i].first = Operand(andn2->definitions[0].getTemp()); in process_instructions()
736 exit_cond = andn2->definitions[1].getTemp(); in process_instructions()
794 cond = instr->operands[0].getTemp(); in process_instructions()
807 ctx.info[block->index].exec[i].first = Operand(andn2->definitions[0].getTemp()); in process_instructions()
808 exit_cond = andn2->definitions[1].getTemp(); in process_instructions()
949 bld.pseudo(aco_opcode::p_exit_early_if, bld.scc(andn2->definitions[1].getTemp())); in add_branch_code()
950 ctx.info[block->index].exec[i].first = Operand(andn2->definitions[0].getTemp()); in add_branch_code()
1005 Temp cond = block->instructions.back()->operands[0].getTemp(); in add_branch_code()
Daco_lower_phis.cpp114 phi->definitions[0] = Definition(op.getTemp()); in get_ssa()
141 Definition dst = Definition(state->outputs[block_idx].getTemp()); in build_merge_code()
323 Temp phi_src = phi->operands[i].getTemp(); in lower_subdword_phis()
Daco_instruction_selection.cpp154 mask_lo = Operand(mask_split.def(0).getTemp()); in emit_mbcnt()
155 mask_hi = Operand(mask_split.def(1).getTemp()); in emit_mbcnt()
213 index_is_lo_split.def(1).getTemp()); in emit_bpermute()
215 index_is_lo_split.def(0).getTemp(), index_is_lo_n1); in emit_bpermute()
439 elems[i] = vec->operands[i].getTemp(); in expand_vector()
1291 return add->definitions[0].getTemp(); in emit_floor_f64()
1299 return bld.vop2_e64(aco_opcode::v_cndmask_b32, dst, add.def(0).getTemp(), Operand::c32(-1), in uadd32_sat()
1300 add.def(1).getTemp()); in uadd32_sat()
1310 return dst.getTemp(); in uadd32_sat()
1472 .getTemp(); in visit_alu_instr()
[all …]
Daco_ir.cpp284 if (instr->definitions[0].getTemp().type() == RegType::sgpr && chip == GFX8) in convert_to_SDWA()
551 if (def.getTemp().type() == RegType::vgpr) in needs_exec_mask()
680 (instr->operands[0].isTemp() && instr->operands[0].getTemp().type() == RegType::sgpr)) in can_swap_operands()
Daco_opt_value_numbering.cpp386 ctx.renames[instr->definitions[0].tempId()] = instr->operands[0].getTemp(); in process_block()
403 ctx.renames[instr->definitions[i].tempId()] = orig_instr->definitions[i].getTemp(); in process_block()
Daco_ir.h724 constexpr Temp getTemp() const noexcept { return data_.temp; } in getTemp() function
848 return other.isTemp() && other.getTemp() == getTemp();
909 constexpr Temp getTemp() const noexcept { return temp; } in getTemp() function
Daco_optimizer_postRA.cpp318 instr->operands[0] = Operand(wr_instr->definitions[1].getTemp(), scc); in try_optimize_scc_nocompare()
Daco_lower_to_hw_instr.cpp1767 if (preserve_scc && it->second.def.getTemp().type() == RegType::sgpr) in handle_operands()
1938 : RegClass(instr->operands[0].getTemp().type(), def.size()); in lower_to_hw_instr()
1951 reg, instr->definitions[0].getTemp().regClass().resize(op.bytes())); in lower_to_hw_instr()
1965 : instr->definitions[0].getTemp().regClass().resize(op.bytes()); in lower_to_hw_instr()
1980 : instr->operands[0].getTemp().regClass().resize(def.bytes()); in lower_to_hw_instr()
Daco_insert_waitcnt.cpp265 for (unsigned j = 0; j < def.getTemp().size(); j++) { in check_instr()
Daco_insert_NOPs.cpp612 { return def.getTemp().type() == RegType::sgpr; }); in instr_writes_sgpr()
/third_party/mesa3d/src/amd/compiler/tests/
Dtest_regalloc.cpp52 auto result1 = bld.vop1(aco_opcode::v_cvt_f32_f16, bld.def(v1), tmp.def(1).getTemp());
53 auto result2 = bld.vop1(aco_opcode::v_cvt_f32_f16, bld.def(v1), tmp.def(0).getTemp());
69 …i = bld.pseudo(aco_opcode::p_split_vector, bld.def(v2b), bld.def(v2b), inputs[0]).def(1).getTemp();
Dtest_optimizer_postRA.cpp54 …auto br = bld.branch(aco_opcode::p_cbranch_z, bld.def(s2, reg_s2), bld.scc(sand.def(1).getTemp()));
72 …auto br = bld.branch(aco_opcode::p_cbranch_z, bld.def(s2, reg_s2), bld.scc(sand.def(1).getTemp()));
88 …auto br = bld.branch(aco_opcode::p_cbranch_z, bld.def(s2, reg_s2), bld.scc(sand.def(1).getTemp()));
104 …auto br = bld.branch(aco_opcode::p_cbranch_z, bld.def(s2, reg_s2), bld.scc(sand.def(1).getTemp()));
122 …auto br = bld.branch(aco_opcode::p_cbranch_z, bld.def(s2, reg_s2), bld.scc(sand.def(1).getTemp()));
Dtest_sdwa.cpp391 writeout(0, mul->definitions[0].getTemp());
401 writeout(1, mul->definitions[0].getTemp());
Dtest_optimizer.cpp370 Temp carry = bld.vadd32(bld.def(v1), lshl, Operand(inputs[1]), true).def(1).getTemp();
433 Temp carry = bld.vadd32(bld.def(v1), bcnt, Operand(inputs[0]), true).def(1).getTemp();
752 writeout(1, bld.vadd32(bld.def(v1), inputs[0], mul, true).def(1).getTemp());