Lines Matching defs:slot
357 LValue *unspill(Instruction *usei, LValue *, Value *slot);
358 void spill(Instruction *defi, Value *slot, LValue *);
1510 Symbol *slot = NULL;
1512 slot = spill.assignSlot(node->livei, lval->reg.size);
1513 mustSpill.push_back(ValuePair(lval, slot));
1649 SpillSlot slot;
1663 slot.sym = NULL;
1684 slot.sym = bgn->sym;
1689 if (!slot.sym) {
1691 slot.offset = offset;
1692 slot.sym = new_Symbol(func->getProgram(), FILE_MEMORY_LOCAL);
1695 slot.sym->setAddress(NULL, offset);
1696 slot.sym->reg.size = size;
1697 slots.insert(pos, slot)->occup.insert(livei);
1699 return slot.sym;
1707 Value *slot = cloneShallow(func, base);
1709 slot->reg.data.offset += (ffs(lval->compMask) - 1) * lval->reg.size;
1710 slot->reg.size = lval->reg.size;
1712 return slot;
1716 SpillCodeInserter::spill(Instruction *defi, Value *slot, LValue *lval)
1720 slot = offsetSlot(slot, lval);
1723 if (slot->reg.file == FILE_MEMORY_LOCAL) {
1727 st->setSrc(0, slot);
1736 Value *tmp = cloneShallow(func, slot);
1748 st->setDef(0, slot);
1757 SpillCodeInserter::unspill(Instruction *usei, LValue *lval, Value *slot)
1761 slot = offsetSlot(slot, lval);
1765 if (slot->reg.file == FILE_MEMORY_LOCAL) {
1772 Value *tmp = cloneShallow(func, slot);
1792 ld->setSrc(0, slot);
1833 Value *slot = mem ?
1855 tmp = (slot->reg.file == FILE_MEMORY_LOCAL) ? NULL : slot;
1859 tmp = unspill(usei, dval, slot);
1869 if (slot->reg.file == FILE_MEMORY_LOCAL)
1872 defi->setDef(0, slot);
1874 spill(defi, slot, dval);
1941 // TODO: need to fix up spill slot usage ranges to support > 1 retry