Lines Matching refs:spilled
488 /* first block, nothing was spilled before */
503 /* check how many live-through variables should be spilled */
513 for (auto spilled : ctx.spills_exit[block_idx - 1]) {
514 auto it = next_use_distances.find(spilled.first);
520 /* keep constants and live-through variables spilled */
521 if (it->second.first >= loop_end || ctx.remat.count(spilled.first)) {
522 ctx.spills_entry[block_idx][spilled.first] = spilled.second;
523 spilled_registers += spilled.first;
524 loop_demand -= spilled.first;
602 /* keep variables spilled if they are alive and not used in the current block */
630 /* if register demand is still too high, we just keep all spilled live vars
658 /* keep variables spilled on all incoming paths */
662 /* If it can be rematerialized, keep the variable spilled if all predecessors do not reload
714 /* The phi is spilled at all predecessors. Keep it spilled. */
724 /* if reg pressure at first instruction is still too high, add partially spilled variables */
778 /* still spilled */
791 /* variable is spilled at predecessor and live at current block: create reload instruction */
812 /* still spilled */
825 /* variable is spilled at predecessor and live at current block:
861 /* if the phi is not spilled, add to instructions */
888 /* check if variable is already spilled at predecessor */
889 auto spilled = ctx.spills_exit[pred_idx].find(var);
890 if (spilled != ctx.spills_exit[pred_idx].end()) {
891 if (spilled->second != def_spill_id)
892 ctx.add_affinity(def_spill_id, spilled->second);
924 /* Add the original name to predecessor's spilled variables */
933 /* iterate all (other) spilled variables for which to spill at the predecessor */
940 /* variable is already spilled at predecessor */
941 auto spilled = ctx.spills_exit[pred_idx].find(pair.first);
942 if (spilled != ctx.spills_exit[pred_idx].end()) {
943 if (spilled->second != pair.second)
944 ctx.add_affinity(pair.second, spilled->second);
952 /* add interferences between spilled variable and predecessors exit spills */
959 /* variable is in register at predecessor and has to be spilled */
1029 /* reload spilled exec mask directly to exec */
1045 // TODO: reload at current block if variable is spilled on all predecessors
1048 /* skip spilled variables */
1063 /* the variable is not spilled at the predecessor */
1067 /* variable is spilled at predecessor and has to be reloaded */
1202 /* the Operand is spilled: add it to reloads */
1244 /* add interferences with currently spilled variables */
1285 /* determine set of variables which are spilled at the beginning of the block */
1288 /* add interferences for spilled variables */
1378 /* we can stop with this block as soon as the variable is spilled */
1743 /* check if any spilled variables use a created linear vgpr, otherwise destroy them */