Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:MFI

224   MachineFrameInfo *MFI = Fn.getFrameInfo();
225 uint64_t StackSize = MFI->getStackSize();
234 MFI->setSavePoint(nullptr);
235 MFI->setRestorePoint(nullptr);
245 MachineFrameInfo *MFI = Fn.getFrameInfo();
248 bool AdjustsStack = MFI->adjustsStack();
277 MFI->setAdjustsStack(AdjustsStack);
278 MFI->setMaxCallFrameSize(MaxCallFrameSize);
296 const MachineFrameInfo *MFI = Fn.getFrameInfo();
303 if (MFI->getSavePoint()) {
304 SaveBlocks.push_back(MFI->getSavePoint());
305 assert(MFI->getRestorePoint() && "Both restore and save must be set");
306 MachineBasicBlock *RestoreBlock = MFI->getRestorePoint();
343 MachineFrameInfo *MFI = F.getFrameInfo();
382 FrameIdx = MFI->CreateStackObject(RC->getSize(), Align, true);
388 MFI->CreateFixedSpillStackObject(RC->getSize(), FixedSlot->Offset);
395 MFI->setCalleeSavedInfo(CSI);
401 MachineFrameInfo *MFI = MF.getFrameInfo();
412 MachineBasicBlock *Save = MFI->getSavePoint();
423 MachineBasicBlock *Restore = MFI->getRestorePoint();
443 const std::vector<CalleeSavedInfo> &CSI = MFI->getCalleeSavedInfo();
463 MachineFrameInfo *MFI = Fn.getFrameInfo();
464 const std::vector<CalleeSavedInfo> &CSI = MFI->getCalleeSavedInfo();
466 MFI->setCalleeSavedInfoValid(true);
554 AdjustStackOffset(MachineFrameInfo *MFI, int FrameIdx,
559 Offset += MFI->getObjectSize(FrameIdx);
561 unsigned Align = MFI->getObjectAlignment(FrameIdx);
572 MFI->setObjectOffset(FrameIdx, -Offset); // Set the computed offset
575 MFI->setObjectOffset(FrameIdx, Offset);
576 Offset += MFI->getObjectSize(FrameIdx);
584 computeFreeStackSlots(MachineFrameInfo *MFI, bool StackGrowsDown,
595 for (int i = MFI->getObjectIndexBegin(); i != 0; ++i)
604 int ObjOffset = MFI->getObjectOffset(i);
605 int ObjSize = MFI->getObjectSize(i);
624 static inline bool scavengeStackSlot(MachineFrameInfo *MFI, int FrameIdx,
627 if (MFI->isVariableSizedObjectIndex(FrameIdx))
637 unsigned ObjAlign = MFI->getObjectAlignment(FrameIdx);
641 int64_t ObjSize = MFI->getObjectSize(FrameIdx);
671 MFI->setObjectOffset(FrameIdx, ObjStart);
675 MFI->setObjectOffset(FrameIdx, FreeStart);
687 MachineFrameInfo *MFI, bool StackGrowsDown,
693 AdjustStackOffset(MFI, i, StackGrowsDown, Offset, MaxAlign, Skew);
709 MachineFrameInfo *MFI = Fn.getFrameInfo();
728 for (int i = MFI->getObjectIndexBegin(); i != 0; ++i) {
734 FixedOff = -MFI->getObjectOffset(i);
738 FixedOff = MFI->getObjectOffset(i) + MFI->getObjectSize(i);
749 Offset += MFI->getObjectSize(i);
751 unsigned Align = MFI->getObjectAlignment(i);
756 MFI->setObjectOffset(i, -Offset); // Set the computed offset
761 unsigned Align = MFI->getObjectAlignment(i);
766 MFI->setObjectOffset(i, Offset);
767 Offset += MFI->getObjectSize(i);
774 unsigned MaxAlign = MFI->getMaxAlignment();
789 AdjustStackOffset(MFI, *I, StackGrowsDown, Offset, MaxAlign, Skew);
796 if (MFI->getUseLocalStackAllocationBlock()) {
797 unsigned Align = MFI->getLocalFrameMaxAlign();
805 for (unsigned i = 0, e = MFI->getLocalFrameObjectCount(); i != e; ++i) {
806 std::pair<int, int64_t> Entry = MFI->getLocalFrameObjectMap(i);
810 MFI->setObjectOffset(Entry.first, FIOffset);
813 Offset += MFI->getLocalFrameSize();
826 if (MFI->getStackProtectorIndex() >= 0) {
831 AdjustStackOffset(MFI, MFI->getStackProtectorIndex(), StackGrowsDown,
835 for (unsigned i = 0, e = MFI->getObjectIndexEnd(); i != e; ++i) {
836 if (MFI->isObjectPreAllocated(i) &&
837 MFI->getUseLocalStackAllocationBlock())
843 if (MFI->isDeadObjectIndex(i))
845 if (MFI->getStackProtectorIndex() == (int)i ||
849 switch (SP->getSSPLayout(MFI->getObjectAllocation(i))) {
865 MFI, StackGrowsDown,
867 AssignProtectedObjSet(SmallArrayObjs, ProtectedObjs, MFI, StackGrowsDown,
869 AssignProtectedObjSet(AddrOfObjs, ProtectedObjs, MFI, StackGrowsDown,
877 for (unsigned i = 0, e = MFI->getObjectIndexEnd(); i != e; ++i) {
878 if (MFI->isObjectPreAllocated(i) &&
879 MFI->getUseLocalStackAllocationBlock())
885 if (MFI->isDeadObjectIndex(i))
887 if (MFI->getStackProtectorIndex() == (int)i ||
899 AdjustStackOffset(MFI, EHRegNodeFrameIndex, StackGrowsDown, Offset,
914 MFI->getStackProtectorIndex() < 0 && TFI.enableStackSlotScavenging(Fn))
915 computeFreeStackSlots(MFI, StackGrowsDown, MinCSFrameIndex, MaxCSFrameIndex,
920 if (!scavengeStackSlot(MFI, Object, StackGrowsDown, MaxAlign,
922 AdjustStackOffset(MFI, Object, StackGrowsDown, Offset, MaxAlign, Skew);
931 AdjustStackOffset(MFI, *I, StackGrowsDown, Offset, MaxAlign, Skew);
938 if (MFI->adjustsStack() && TFI.hasReservedCallFrame(Fn))
939 Offset += MFI->getMaxCallFrameSize();
947 if (MFI->adjustsStack() || MFI->hasVarSizedObjects() ||
948 (RegInfo->needsStackRealignment(Fn) && MFI->getObjectIndexEnd() != 0))
961 MFI->setStackSize(StackSize);