Lines Matching refs:spill
669 bool spill = !remat;
674 spill = false;
679 spill = false;
686 spill = true;
689 if (spill) {
856 /* iterate the phi nodes for which operands to spill at the predecessor */
910 aco_ptr<Pseudo_instruction> spill{
912 spill->operands[0] = spill_op;
913 spill->operands[1] = Operand::c32(spill_id);
922 pred.instructions.insert(it, std::move(spill));
933 /* iterate all (other) spilled variables for which to spill at the predecessor */
968 aco_ptr<Pseudo_instruction> spill{
970 spill->operands[0] = Operand(var);
971 spill->operands[1] = Operand::c32(pair.second);
980 pred.instructions.insert(it, std::move(spill));
1219 /* if reg pressure is too high, spill variable with furthest next use */
1258 /* add spill to new instructions */
1259 aco_ptr<Pseudo_instruction> spill{
1261 spill->operands[0] = Operand(to_spill);
1262 spill->operands[1] = Operand::c32(spill_id);
1263 instructions.emplace_back(std::move(spill));
1297 /* add spill/reload code on incoming control flow edges */
1483 aco_ptr<Instruction>& spill, std::vector<uint32_t>& slots)
1485 ctx.program->config->spilled_vgprs += spill->operands[0].size();
1487 uint32_t spill_id = spill->operands[1].constantValue();
1493 assert(spill->operands[0].isTemp());
1494 Temp temp = spill->operands[0].getTemp();
1670 /* first, handle affinities: just merge all interferences into both spill ids */
1685 /* for each spill slot, assign as many spill ids as possible */
1772 /* never reloaded, so don't spill */
1774 unreachable("No spill slot assigned for spill id");
1802 /* spill sgpr: just add the vgpr temp to operands */
1803 Pseudo_instruction* spill =
1805 spill->operands[0] = Operand(vgpr_spill_temps[spill_slot / ctx.wave_size]);
1806 spill->operands[1] = Operand::c32(spill_slot % ctx.wave_size);
1807 spill->operands[2] = (*it)->operands[0];
1808 instructions.emplace_back(aco_ptr<Instruction>(spill));
1816 unreachable("No spill slot assigned for spill id");
1918 spill(Program* program, live& live_vars)
1968 /* assign spill slots and DCE rematerialized code */