Lines Matching refs:SlotOrReMat
205 void addAvailable(int SlotOrReMat, unsigned Reg, bool CanClobber = true) { in addAvailable() argument
208 ModifyStackSlotOrReMat(SlotOrReMat); in addAvailable()
210 PhysRegsAvailable.insert(std::make_pair(Reg, SlotOrReMat)); in addAvailable()
211 SpillSlotsOrReMatsAvailable[SlotOrReMat]= (Reg << 1) | in addAvailable()
214 if (SlotOrReMat > VirtRegMap::MAX_STACK_SLOT) in addAvailable()
216 << SlotOrReMat-VirtRegMap::MAX_STACK_SLOT-1); in addAvailable()
218 DEBUG(dbgs() << "Remembering SS#" << SlotOrReMat); in addAvailable()
227 bool canClobberPhysRegForSS(int SlotOrReMat) const { in canClobberPhysRegForSS()
228 assert(SpillSlotsOrReMatsAvailable.count(SlotOrReMat) && in canClobberPhysRegForSS()
230 return SpillSlotsOrReMatsAvailable.find(SlotOrReMat)->second & 1; in canClobberPhysRegForSS()
240 int SlotOrReMat = I->second; in canClobberPhysReg() local
242 if (!canClobberPhysRegForSS(SlotOrReMat)) in canClobberPhysReg()
262 void ModifyStackSlotOrReMat(int SlotOrReMat);
727 int SlotOrReMat = I->second; in disallowClobberPhysRegOnly() local
729 assert((SpillSlotsOrReMatsAvailable[SlotOrReMat] >> 1) == PhysReg && in disallowClobberPhysRegOnly()
731 SpillSlotsOrReMatsAvailable[SlotOrReMat] &= ~1; in disallowClobberPhysRegOnly()
752 int SlotOrReMat = I->second; in ClobberPhysRegOnly() local
754 assert((SpillSlotsOrReMatsAvailable[SlotOrReMat] >> 1) == PhysReg && in ClobberPhysRegOnly()
756 SpillSlotsOrReMatsAvailable.erase(SlotOrReMat); in ClobberPhysRegOnly()
759 if (SlotOrReMat > VirtRegMap::MAX_STACK_SLOT) in ClobberPhysRegOnly()
760 DEBUG(dbgs() << "RM#" << SlotOrReMat-VirtRegMap::MAX_STACK_SLOT-1 <<"\n"); in ClobberPhysRegOnly()
762 DEBUG(dbgs() << "SS#" << SlotOrReMat << "\n"); in ClobberPhysRegOnly()
820 void AvailableSpills::ModifyStackSlotOrReMat(int SlotOrReMat) { in ModifyStackSlotOrReMat() argument
822 SpillSlotsOrReMatsAvailable.find(SlotOrReMat); in ModifyStackSlotOrReMat()
833 if (I->second == SlotOrReMat) break; in ModifyStackSlotOrReMat()