Lines Matching refs:spill

94     * This map only contains values which we didn't spill, so it also serves as
113 /* rb tree of live intervals that we can spill, ordered by next-use distance.
115 * case. We use this list to determine what to spill.
725 spill(struct ra_spill_ctx *ctx, const struct reg_or_immed *val,
744 struct ir3_instruction *spill =
746 ir3_src_create(spill, INVALID_REG, ctx->base_reg->flags)->def = ctx->base_reg;
750 struct ir3_register *src = ir3_src_create(spill, INVALID_REG, src_flags);
751 ir3_src_create(spill, INVALID_REG, IR3_REG_IMMED)->uim_val = elems;
752 spill->cat6.dst_offset = spill_slot;
753 spill->cat6.type = (reg->flags & IR3_REG_HALF) ? TYPE_U16 : TYPE_U32;
765 ir3_instr_move_before(spill, instr);
775 spill(ctx, &interval->dst, get_spill_slot(ctx, interval->interval.reg),
816 d("can't spill");
1160 * spill slot as its corresponding destination. We do this by decomposing the
1176 * own spill slot created for them. Similarly, we don't actually emit any copy
1180 * TODO: in order to reduce the number of temporaries and therefore spill slots,
1206 * the destination. Crucially this means that we also don't reload/spill
1207 * it if it's been spilled, because it shares the same spill slot.
1401 spill(ctx, pred_def, get_spill_slot(ctx, def), NULL, pred);
1419 /* Note: in the paper they explicitly spill live-through values first, but we
1423 * TODO: Keep track of pressure in each block and preemptively spill
1600 * successors so we can't choose what's live in and we can't spill/restore
1658 spill(ctx, &interval->dst, get_spill_slot(ctx, def), NULL, block);
2000 * and we spill "baz":
2004 * spill(foo)
2007 * spill(bar)