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

/xsrc/external/mit/MesaLib/dist/src/amd/compiler/
H A Daco_lower_to_cssa.cpp140 set.emplace(std::next(set.begin()), def.getTemp());
142 set.emplace(set.begin(), def.getTemp());
144 set.emplace_back(def.getTemp());
145 ctx.merge_node_table[def.tempId()] = {Operand(def.getTemp()), index, block.index};
208 if (cp.def.getTemp() == var)
210 if (cp.op.isTemp() && cp.op.getTemp() == parent)
228 if (def.getTemp() == var)
236 if (op.getTemp() == parent)
364 merge_set op_set = merge_set{copy.op.getTemp()};
365 return try_merge_merge_set(ctx, copy.def.getTemp(), op_se
[all...]
H A Daco_validate.cpp313 check(instr->definitions[0].getTemp().type() == RegType::sgpr,
316 check(instr->definitions[0].getTemp().type() == RegType::vgpr,
374 check(instr->definitions[0].getTemp().type() == RegType::sgpr,
393 if (instr->definitions[0].getTemp().type() == RegType::sgpr) {
405 check(instr->definitions[0].getTemp().type() == RegType::vgpr ||
420 if (instr->operands[0].getTemp().type() == RegType::vgpr) {
436 check((instr->definitions[i].getTemp().type() ==
438 (instr->definitions[i].getTemp().type() == RegType::vgpr &&
453 check(instr->definitions[0].getTemp().type() == RegType::vgpr,
460 check(!op.isTemp() || op.getTemp()
[all...]
H A Daco_live_var_analysis.cpp41 changes += def.getTemp();
47 changes -= op.getTemp();
62 temp_registers += def.getTemp();
67 temp_registers += op.getTemp();
124 const Temp temp = definition.getTemp();
152 const Temp temp = operand.getTemp();
194 const Temp temp = definition.getTemp();
203 assert(definition.getTemp().type() == RegType::sgpr);
249 if (insn->opcode == aco_opcode::p_phi && operand.getTemp().type() == RegType::sgpr) {
252 assert(operand.getTemp()
[all...]
H A Daco_spill.cpp193 next_use_distances_start.erase(def.getTemp());
203 next_use_distances_start[op.getTemp()] = {block_idx, idx};
216 auto it = instr->definitions[0].isTemp() ? next_use_distances_start.find(instr->definitions[0].getTemp())
219 phi_defs.insert(instr->definitions[0].getTemp()).second) {
228 std::make_pair(instr->operands[i].getTemp(), distance));
341 if (ctx.remat.count(instr->operands[i].getTemp()))
342 ctx.unused_remats.erase(ctx.remat[instr->operands[i].getTemp()].instr);
370 ctx.remat[def.getTemp()] = remat_info{instr.get()};
414 [op](auto& pair) { return pair.first == op.getTemp(); });
416 local_next_uses[idx].push_back(std::make_pair<Temp, uint32_t>(op.getTemp(), id
[all...]
H A Daco_register_allocation.cpp743 if (def.isTemp() && def.getTemp() == it->first.getTemp()) {
760 if (it->first.getTemp() == other.second.getTemp()) {
810 op.setTemp(copy.second.getTemp());
1171 killed_ops += op.getTemp().size();
1271 if (op.isTemp() && op.isFirstKillBeforeDef() && op.getTemp().type() == rc.type()) {
1491 if (op.isTemp() && op.tempId() != temp.id() && op.getTemp().type() == temp.type() &&
1650 instr->operands[i].getTemp().type() != rc.type())
1711 instr->operands[j].getTemp()
[all...]
H A Daco_optimizer.cpp604 return op.isTemp() && op.getTemp().type() == RegType::vgpr;
716 Temp tmp = op.getTemp();
752 *base = add_instr->operands[!i].getTemp();
824 Temp tmp = info.instr->operands[0].getTemp();
853 Temp tmp = info.instr->operands[0].getTemp();
899 if (info.is_extract() && (info.instr->operands[0].getTemp().type() == RegType::vgpr ||
900 op.getTemp().type() == RegType::sgpr)) {
988 while (info.is_temp() && info.temp.regClass() == instr->operands[i].getTemp().regClass()) {
1029 instr->opcode != aco_opcode::v_cndmask_b32 || instr->operands[i].getTemp().bytes() == 4;
1267 ctx.info[instr->definitions[0].tempId()].set_temp(instr->operands[0].getTemp());
[all...]
H A Daco_insert_exec_mask.cpp180 set_needs_wqm(ctx, op.getTemp());
729 .getTemp();
735 ctx.info[block->index].exec[i].first = Operand(andn2->definitions[0].getTemp());
736 exit_cond = andn2->definitions[1].getTemp();
794 cond = instr->operands[0].getTemp();
807 ctx.info[block->index].exec[i].first = Operand(andn2->definitions[0].getTemp());
808 exit_cond = andn2->definitions[1].getTemp();
949 bld.pseudo(aco_opcode::p_exit_early_if, bld.scc(andn2->definitions[1].getTemp()));
950 ctx.info[block->index].exec[i].first = Operand(andn2->definitions[0].getTemp());
1005 Temp cond = block->instructions.back()->operands[0].getTemp();
[all...]
H A Daco_lower_phis.cpp114 phi->definitions[0] = Definition(op.getTemp());
141 Definition dst = Definition(state->outputs[block_idx].getTemp());
323 Temp phi_src = phi->operands[i].getTemp();
H A Daco_opt_value_numbering.cpp386 ctx.renames[instr->definitions[0].tempId()] = instr->operands[0].getTemp();
403 ctx.renames[instr->definitions[i].tempId()] = orig_instr->definitions[i].getTemp();
H A Daco_ir.cpp284 if (instr->definitions[0].getTemp().type() == RegType::sgpr && chip == GFX8)
551 if (def.getTemp().type() == RegType::vgpr)
680 (instr->operands[0].isTemp() && instr->operands[0].getTemp().type() == RegType::sgpr))
H A Daco_instruction_selection.cpp154 mask_lo = Operand(mask_split.def(0).getTemp());
155 mask_hi = Operand(mask_split.def(1).getTemp());
213 index_is_lo_split.def(1).getTemp());
215 index_is_lo_split.def(0).getTemp(), index_is_lo_n1);
439 elems[i] = vec->operands[i].getTemp();
1291 return add->definitions[0].getTemp();
1299 return bld.vop2_e64(aco_opcode::v_cndmask_b32, dst, add.def(0).getTemp(), Operand::c32(-1),
1300 add.def(1).getTemp());
1310 return dst.getTemp();
1472 .getTemp();
[all...]
H A Daco_ir.h724 constexpr Temp getTemp() const noexcept { return data_.temp; } function in class:aco::Operand
848 return other.isTemp() && other.getTemp() == getTemp();
909 constexpr Temp getTemp() const noexcept { return temp; } function in class:aco::Definition
H A Daco_optimizer_postRA.cpp318 instr->operands[0] = Operand(wr_instr->definitions[1].getTemp(), scc);
H A Daco_lower_to_hw_instr.cpp1767 if (preserve_scc && it->second.def.getTemp().type() == RegType::sgpr)
1938 : RegClass(instr->operands[0].getTemp().type(), def.size());
1951 reg, instr->definitions[0].getTemp().regClass().resize(op.bytes()));
1965 : instr->definitions[0].getTemp().regClass().resize(op.bytes());
1980 : instr->operands[0].getTemp().regClass().resize(def.bytes());
H A Daco_insert_NOPs.cpp612 { return def.getTemp().type() == RegType::sgpr; });
H A Daco_insert_waitcnt.cpp265 for (unsigned j = 0; j < def.getTemp().size(); j++) {
/xsrc/external/mit/MesaLib/dist/src/amd/compiler/tests/
H A 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 Temp hi = bld.pseudo(aco_opcode::p_split_vector, bld.def(v2b), bld.def(v2b), inputs[0]).def(1).getTemp();
H A 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()));
H A Dtest_sdwa.cpp391 writeout(0, mul->definitions[0].getTemp());
401 writeout(1, mul->definitions[0].getTemp());
H A 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());

Completed in 42 milliseconds