Lines Matching defs:StackSlot
91 // Map from StackSlot to the LiveInterval of the original register.
97 // Map from pair of (StackSlot and Original VNI) to a set of spills which
137 void addToMergeableSpills(MachineInstr &Spill, int StackSlot,
139 bool rmFromMergeableSpills(MachineInstr &Spill, int StackSlot);
156 int StackSlot;
159 // All registers to spill to StackSlot, including the main register.
357 if (SnipLI.reg() == TII.isLoadFromStackSlot(MI, FI) && FI == StackSlot)
361 if (SnipLI.reg() == TII.isStoreToStackSlot(MI, FI) && FI == StackSlot)
471 TII.storeRegToStackSlot(*MBB, MII, SrcReg, false, StackSlot,
483 HSpiller.addToMergeableSpills(*MII, StackSlot, Original);
535 if (Reg == TII.isStoreToStackSlot(MI, FI) && FI == StackSlot) {
541 if (HSpiller.rmFromMergeableSpills(MI, StackSlot))
814 /// If MI is a load or store of StackSlot, it can be removed.
823 if (InstrReg != Reg || FI != StackSlot)
827 HSpiller.rmFromMergeableSpills(*MI, StackSlot);
967 : TII.foldMemoryOperand(*MI, FoldOps, StackSlot, &LIS, &VRM);
1066 HSpiller.addToMergeableSpills(*FoldMI, StackSlot, Original);
1078 TII.loadRegFromStackSlot(MBB, MI, NewVReg, StackSlot,
1114 TII.storeRegToStackSlot(MBB, SpillBefore, NewVReg, isKill, StackSlot,
1136 HSpiller.addToMergeableSpills(*Spill, StackSlot, Original);
1151 buildDbgValueForSpill(*MBB, &MI, MI, StackSlot, Reg);
1238 if (StackSlot == VirtRegMap::NO_STACK_SLOT) {
1239 StackSlot = VRM.assignVirt2StackSlot(Original);
1240 StackInt = &LSS.getOrCreateInterval(StackSlot, MRI.getRegClass(Original));
1243 StackInt = &LSS.getInterval(StackSlot);
1246 VRM.assignVirt2StackSlot(Edit->getReg(), StackSlot);
1260 VRM.assignVirt2StackSlot(Reg, StackSlot);
1292 StackSlot = VRM.getStackSlot(Original);
1317 void HoistSpillHelper::addToMergeableSpills(MachineInstr &Spill, int StackSlot,
1323 if (!StackSlotToOrigLI.contains(StackSlot)) {
1326 StackSlotToOrigLI[StackSlot] = std::move(LI);
1329 VNInfo *OrigVNI = StackSlotToOrigLI[StackSlot]->getVNInfoAt(Idx.getRegSlot());
1330 std::pair<int, VNInfo *> MIdx = std::make_pair(StackSlot, OrigVNI);
1337 int StackSlot) {
1338 auto It = StackSlotToOrigLI.find(StackSlot);
1343 std::pair<int, VNInfo *> MIdx = std::make_pair(StackSlot, OrigVNI);