Lines Matching refs:MFI

274   MachineFrameInfo &MFI = MF.getFrameInfo();  in runOnMachineFunction()  local
275 uint64_t StackSize = MFI.getStackSize(); in runOnMachineFunction()
301 MFI.setSavePoint(nullptr); in runOnMachineFunction()
302 MFI.setRestorePoint(nullptr); in runOnMachineFunction()
312 MachineFrameInfo &MFI = MF.getFrameInfo(); in calculateCallFrameInfo() local
315 bool AdjustsStack = MFI.adjustsStack(); in calculateCallFrameInfo()
341 assert(!MFI.isMaxCallFrameSizeComputed() || in calculateCallFrameInfo()
342 (MFI.getMaxCallFrameSize() == MaxCallFrameSize && in calculateCallFrameInfo()
343 MFI.adjustsStack() == AdjustsStack)); in calculateCallFrameInfo()
344 MFI.setAdjustsStack(AdjustsStack); in calculateCallFrameInfo()
345 MFI.setMaxCallFrameSize(MaxCallFrameSize); in calculateCallFrameInfo()
360 const MachineFrameInfo &MFI = MF.getFrameInfo(); in calculateSaveRestoreBlocks() local
367 if (MFI.getSavePoint()) { in calculateSaveRestoreBlocks()
368 SaveBlocks.push_back(MFI.getSavePoint()); in calculateSaveRestoreBlocks()
369 assert(MFI.getRestorePoint() && "Both restore and save must be set"); in calculateSaveRestoreBlocks()
370 MachineBasicBlock *RestoreBlock = MFI.getRestorePoint(); in calculateSaveRestoreBlocks()
407 MachineFrameInfo &MFI = F.getFrameInfo(); in assignCalleeSavedSpillSlots() local
451 FrameIdx = MFI.CreateStackObject(Size, Alignment, true); in assignCalleeSavedSpillSlots()
456 FrameIdx = MFI.CreateFixedSpillStackObject(Size, FixedSlot->Offset); in assignCalleeSavedSpillSlots()
463 MFI.setCalleeSavedInfo(CSI); in assignCalleeSavedSpillSlots()
469 MachineFrameInfo &MFI = MF.getFrameInfo(); in updateLiveness() local
480 MachineBasicBlock *Save = MFI.getSavePoint(); in updateLiveness()
491 MachineBasicBlock *Restore = MFI.getRestorePoint(); in updateLiveness()
511 const std::vector<CalleeSavedInfo> &CSI = MFI.getCalleeSavedInfo(); in updateLiveness()
608 MachineFrameInfo &MFI = MF.getFrameInfo(); in spillCalleeSavedRegs() local
621 MFI.setCalleeSavedInfoValid(true); in spillCalleeSavedRegs()
623 std::vector<CalleeSavedInfo> &CSI = MFI.getCalleeSavedInfo(); in spillCalleeSavedRegs()
625 if (!MFI.hasCalls()) in spillCalleeSavedRegs()
641 static inline void AdjustStackOffset(MachineFrameInfo &MFI, int FrameIdx, in AdjustStackOffset() argument
646 Offset += MFI.getObjectSize(FrameIdx); in AdjustStackOffset()
648 Align Alignment = MFI.getObjectAlign(FrameIdx); in AdjustStackOffset()
660 MFI.setObjectOffset(FrameIdx, -Offset); // Set the computed offset in AdjustStackOffset()
664 MFI.setObjectOffset(FrameIdx, Offset); in AdjustStackOffset()
665 Offset += MFI.getObjectSize(FrameIdx); in AdjustStackOffset()
672 computeFreeStackSlots(MachineFrameInfo &MFI, bool StackGrowsDown, in computeFreeStackSlots() argument
683 for (int i = MFI.getObjectIndexBegin(); i != 0; ++i) in computeFreeStackSlots()
685 if (MFI.getStackID(i) == TargetStackID::Default) in computeFreeStackSlots()
690 if (MFI.getStackID(i) == TargetStackID::Default) in computeFreeStackSlots()
697 int ObjOffset = MFI.getObjectOffset(i); in computeFreeStackSlots()
698 int ObjSize = MFI.getObjectSize(i); in computeFreeStackSlots()
716 static inline bool scavengeStackSlot(MachineFrameInfo &MFI, int FrameIdx, in scavengeStackSlot() argument
719 if (MFI.isVariableSizedObjectIndex(FrameIdx)) in scavengeStackSlot()
729 Align ObjAlign = MFI.getObjectAlign(FrameIdx); in scavengeStackSlot()
733 int64_t ObjSize = MFI.getObjectSize(FrameIdx); in scavengeStackSlot()
763 MFI.setObjectOffset(FrameIdx, ObjStart); in scavengeStackSlot()
767 MFI.setObjectOffset(FrameIdx, FreeStart); in scavengeStackSlot()
778 MachineFrameInfo &MFI, bool StackGrowsDown, in AssignProtectedObjSet() argument
783 AdjustStackOffset(MFI, i, StackGrowsDown, Offset, MaxAlign, Skew); in AssignProtectedObjSet()
797 MachineFrameInfo &MFI = MF.getFrameInfo(); in calculateFrameObjectOffsets() local
813 for (unsigned i = 0, e = MFI.getObjectIndexEnd(); i != e; ++i) in calculateFrameObjectOffsets()
814 if (!MFI.isDeadObjectIndex(i) && in calculateFrameObjectOffsets()
815 MFI.getStackID(i) == TargetStackID::Default) in calculateFrameObjectOffsets()
816 assert(MFI.getObjectAlign(i) <= MFI.getMaxAlign() && in calculateFrameObjectOffsets()
824 for (int i = MFI.getObjectIndexBegin(); i != 0; ++i) { in calculateFrameObjectOffsets()
825 if (MFI.getStackID(i) != in calculateFrameObjectOffsets()
834 FixedOff = -MFI.getObjectOffset(i); in calculateFrameObjectOffsets()
838 FixedOff = MFI.getObjectOffset(i) + MFI.getObjectSize(i); in calculateFrameObjectOffsets()
847 if (MFI.getStackID(i) != in calculateFrameObjectOffsets()
853 Offset += MFI.getObjectSize(i); in calculateFrameObjectOffsets()
856 Offset = alignTo(Offset, MFI.getObjectAlign(i), Skew); in calculateFrameObjectOffsets()
859 MFI.setObjectOffset(i, -Offset); // Set the computed offset in calculateFrameObjectOffsets()
864 if (MFI.getStackID(i) != in calculateFrameObjectOffsets()
868 if (MFI.isDeadObjectIndex(i)) in calculateFrameObjectOffsets()
872 Offset = alignTo(Offset, MFI.getObjectAlign(i), Skew); in calculateFrameObjectOffsets()
875 MFI.setObjectOffset(i, Offset); in calculateFrameObjectOffsets()
876 Offset += MFI.getObjectSize(i); in calculateFrameObjectOffsets()
883 Align MaxAlign = MFI.getMaxAlign(); in calculateFrameObjectOffsets()
896 AdjustStackOffset(MFI, SFI, StackGrowsDown, Offset, MaxAlign, Skew); in calculateFrameObjectOffsets()
903 if (MFI.getUseLocalStackAllocationBlock()) { in calculateFrameObjectOffsets()
904 Align Alignment = MFI.getLocalFrameMaxAlign(); in calculateFrameObjectOffsets()
912 for (unsigned i = 0, e = MFI.getLocalFrameObjectCount(); i != e; ++i) { in calculateFrameObjectOffsets()
913 std::pair<int, int64_t> Entry = MFI.getLocalFrameObjectMap(i); in calculateFrameObjectOffsets()
917 MFI.setObjectOffset(Entry.first, FIOffset); in calculateFrameObjectOffsets()
920 Offset += MFI.getLocalFrameSize(); in calculateFrameObjectOffsets()
933 if (MFI.hasStackProtectorIndex()) { in calculateFrameObjectOffsets()
934 int StackProtectorFI = MFI.getStackProtectorIndex(); in calculateFrameObjectOffsets()
943 if (!MFI.getUseLocalStackAllocationBlock()) in calculateFrameObjectOffsets()
944 AdjustStackOffset(MFI, StackProtectorFI, StackGrowsDown, Offset, MaxAlign, in calculateFrameObjectOffsets()
946 else if (!MFI.isObjectPreAllocated(MFI.getStackProtectorIndex())) in calculateFrameObjectOffsets()
951 for (unsigned i = 0, e = MFI.getObjectIndexEnd(); i != e; ++i) { in calculateFrameObjectOffsets()
952 if (MFI.isObjectPreAllocated(i) && MFI.getUseLocalStackAllocationBlock()) in calculateFrameObjectOffsets()
958 if (MFI.isDeadObjectIndex(i)) in calculateFrameObjectOffsets()
962 if (MFI.getStackID(i) != in calculateFrameObjectOffsets()
966 switch (MFI.getObjectSSPLayout(i)) { in calculateFrameObjectOffsets()
985 if (MFI.getUseLocalStackAllocationBlock() && in calculateFrameObjectOffsets()
991 AssignProtectedObjSet(LargeArrayObjs, ProtectedObjs, MFI, StackGrowsDown, in calculateFrameObjectOffsets()
993 AssignProtectedObjSet(SmallArrayObjs, ProtectedObjs, MFI, StackGrowsDown, in calculateFrameObjectOffsets()
995 AssignProtectedObjSet(AddrOfObjs, ProtectedObjs, MFI, StackGrowsDown, in calculateFrameObjectOffsets()
1003 for (unsigned i = 0, e = MFI.getObjectIndexEnd(); i != e; ++i) { in calculateFrameObjectOffsets()
1004 if (MFI.isObjectPreAllocated(i) && MFI.getUseLocalStackAllocationBlock()) in calculateFrameObjectOffsets()
1010 if (MFI.isDeadObjectIndex(i)) in calculateFrameObjectOffsets()
1012 if (MFI.getStackProtectorIndex() == (int)i || EHRegNodeFrameIndex == (int)i) in calculateFrameObjectOffsets()
1016 if (MFI.getStackID(i) != in calculateFrameObjectOffsets()
1026 AdjustStackOffset(MFI, EHRegNodeFrameIndex, StackGrowsDown, Offset, in calculateFrameObjectOffsets()
1041 MFI.getStackProtectorIndex() < 0 && TFI.enableStackSlotScavenging(MF)) in calculateFrameObjectOffsets()
1042 computeFreeStackSlots(MFI, StackGrowsDown, MinCSFrameIndex, MaxCSFrameIndex, in calculateFrameObjectOffsets()
1047 if (!scavengeStackSlot(MFI, Object, StackGrowsDown, MaxAlign, in calculateFrameObjectOffsets()
1049 AdjustStackOffset(MFI, Object, StackGrowsDown, Offset, MaxAlign, Skew); in calculateFrameObjectOffsets()
1057 AdjustStackOffset(MFI, SFI, StackGrowsDown, Offset, MaxAlign, Skew); in calculateFrameObjectOffsets()
1064 if (MFI.adjustsStack() && TFI.hasReservedCallFrame(MF)) in calculateFrameObjectOffsets()
1065 Offset += MFI.getMaxCallFrameSize(); in calculateFrameObjectOffsets()
1073 if (MFI.adjustsStack() || MFI.hasVarSizedObjects() || in calculateFrameObjectOffsets()
1074 (RegInfo->hasStackRealignment(MF) && MFI.getObjectIndexEnd() != 0)) in calculateFrameObjectOffsets()
1098 << " from " << MFI.getObjectOffset(SFI);); in calculateFrameObjectOffsets()
1099 MFI.setObjectOffset(SFI, MFI.getObjectOffset(SFI) - Delta); in calculateFrameObjectOffsets()
1100 LLVM_DEBUG(llvm::dbgs() << " to " << MFI.getObjectOffset(SFI) << "\n";); in calculateFrameObjectOffsets()
1107 MFI.setStackSize(StackSize); in calculateFrameObjectOffsets()