Home | History | Annotate | Download | only in compiler

Lines Matching refs:spill

664       bool spill = !remat;
669 spill = false;
674 spill = false;
681 spill = true;
684 if (spill) {
700 bool spill = true;
710 spill = false;
714 if (spill) {
854 /* iterate the phi nodes for which operands to spill at the predecessor */
908 aco_ptr<Pseudo_instruction> spill{
910 spill->operands[0] = spill_op;
911 spill->operands[1] = Operand::c32(spill_id);
920 pred.instructions.insert(it, std::move(spill));
929 /* iterate all (other) spilled variables for which to spill at the predecessor */
964 aco_ptr<Pseudo_instruction> spill{
966 spill->operands[0] = Operand(var);
967 spill->operands[1] = Operand::c32(pair.second);
976 pred.instructions.insert(it, std::move(spill));
1215 /* if reg pressure is too high, spill variable with furthest next use */
1254 /* add spill to new instructions */
1255 aco_ptr<Pseudo_instruction> spill{
1257 spill->operands[0] = Operand(to_spill);
1258 spill->operands[1] = Operand::c32(spill_id);
1259 instructions.emplace_back(std::move(spill));
1293 /* add spill/reload code on incoming control flow edges */
1536 /* first, handle affinities: just merge all interferences into both spill ids */
1551 /* for each spill slot, assign as many spill ids as possible */
1640 /* never reloaded, so don't spill */
1642 unreachable("No spill slot assigned for spill id");
1644 /* spill vgpr */
1716 /* spill sgpr: just add the vgpr temp to operands */
1717 Pseudo_instruction* spill =
1719 spill->operands[0] = Operand(vgpr_spill_temps[spill_slot / ctx.wave_size]);
1720 spill->operands[1] = Operand::c32(spill_slot % ctx.wave_size);
1721 spill->operands[2] = (*it)->operands[0];
1722 instructions.emplace_back(aco_ptr<Instruction>(spill));
1730 unreachable("No spill slot assigned for spill id");
1875 spill(Program* program, live& live_vars)
1922 /* assign spill slots and DCE rematerialized code */