Lines Matching refs:MF
135 void VEFrameLowering::emitPrologueInsns(MachineFunction &MF, in emitPrologueInsns() argument
140 const VEMachineFunctionInfo *FuncInfo = MF.getInfo<VEMachineFunctionInfo>(); in emitPrologueInsns()
163 if (hasGOT(MF)) { in emitPrologueInsns()
175 if (hasBP(MF)) in emitPrologueInsns()
183 void VEFrameLowering::emitEpilogueInsns(MachineFunction &MF, in emitEpilogueInsns() argument
188 const VEMachineFunctionInfo *FuncInfo = MF.getInfo<VEMachineFunctionInfo>(); in emitEpilogueInsns()
199 if (hasBP(MF)) in emitEpilogueInsns()
204 if (hasGOT(MF)) { in emitEpilogueInsns()
226 void VEFrameLowering::emitSPAdjustment(MachineFunction &MF, in emitSPAdjustment() argument
274 void VEFrameLowering::emitSPExtend(MachineFunction &MF, MachineBasicBlock &MBB, in emitSPExtend() argument
308 void VEFrameLowering::emitPrologue(MachineFunction &MF, in emitPrologue() argument
310 const VEMachineFunctionInfo *FuncInfo = MF.getInfo<VEMachineFunctionInfo>(); in emitPrologue()
311 assert(&MF.front() == &MBB && "Shrink-wrapping not yet supported"); in emitPrologue()
312 MachineFrameInfo &MFI = MF.getFrameInfo(); in emitPrologue()
316 bool NeedsStackRealignment = RegInfo.shouldRealignStack(MF); in emitPrologue()
322 if (NeedsStackRealignment && !RegInfo.canRealignStack(MF)) in emitPrologue()
323 report_fatal_error("Function \"" + Twine(MF.getName()) + in emitPrologue()
348 emitPrologueInsns(MF, MBB, MBBI, NumBytes, true); in emitPrologue()
363 emitSPAdjustment(MF, MBB, MBBI, -(int64_t)NumBytes, RuntimeAlign); in emitPrologue()
365 if (hasBP(MF)) { in emitPrologue()
374 emitSPExtend(MF, MBB, MBBI); in emitPrologue()
378 MachineFunction &MF, MachineBasicBlock &MBB, in eliminateCallFramePseudoInstr() argument
380 if (!hasReservedCallFrame(MF)) { in eliminateCallFramePseudoInstr()
387 emitSPAdjustment(MF, MBB, I, Size); in eliminateCallFramePseudoInstr()
392 void VEFrameLowering::emitEpilogue(MachineFunction &MF, in emitEpilogue() argument
394 const VEMachineFunctionInfo *FuncInfo = MF.getInfo<VEMachineFunctionInfo>(); in emitEpilogue()
397 MachineFrameInfo &MFI = MF.getFrameInfo(); in emitEpilogue()
411 emitSPAdjustment(MF, MBB, MBBI, NumBytes, std::nullopt); in emitEpilogue()
415 emitEpilogueInsns(MF, MBB, MBBI, NumBytes, true); in emitEpilogue()
421 bool VEFrameLowering::hasFP(const MachineFunction &MF) const { in hasFP()
422 const TargetRegisterInfo *RegInfo = MF.getSubtarget().getRegisterInfo(); in hasFP()
424 const MachineFrameInfo &MFI = MF.getFrameInfo(); in hasFP()
425 return MF.getTarget().Options.DisableFramePointerElim(MF) || in hasFP()
426 RegInfo->hasStackRealignment(MF) || MFI.hasVarSizedObjects() || in hasFP()
430 bool VEFrameLowering::hasBP(const MachineFunction &MF) const { in hasBP()
431 const MachineFrameInfo &MFI = MF.getFrameInfo(); in hasBP()
434 return MFI.hasVarSizedObjects() && TRI->hasStackRealignment(MF); in hasBP()
437 bool VEFrameLowering::hasGOT(const MachineFunction &MF) const { in hasGOT()
438 const VEMachineFunctionInfo *FuncInfo = MF.getInfo<VEMachineFunctionInfo>(); in hasGOT()
444 StackOffset VEFrameLowering::getFrameIndexReference(const MachineFunction &MF, in getFrameIndexReference() argument
447 const MachineFrameInfo &MFI = MF.getFrameInfo(); in getFrameIndexReference()
451 int64_t FrameOffset = MF.getFrameInfo().getObjectOffset(FI); in getFrameIndexReference()
453 if (!hasFP(MF)) { in getFrameIndexReference()
457 MF.getFrameInfo().getStackSize()); in getFrameIndexReference()
459 if (RegInfo->hasStackRealignment(MF) && !isFixed) { in getFrameIndexReference()
462 if (hasBP(MF)) in getFrameIndexReference()
467 MF.getFrameInfo().getStackSize()); in getFrameIndexReference()
470 FrameReg = RegInfo->getFrameRegister(MF); in getFrameIndexReference()
474 bool VEFrameLowering::isLeafProc(MachineFunction &MF) const { in isLeafProc()
476 MachineRegisterInfo &MRI = MF.getRegInfo(); in isLeafProc()
477 MachineFrameInfo &MFI = MF.getFrameInfo(); in isLeafProc()
483 && !hasFP(MF); // Don't need %fp in isLeafProc()
486 void VEFrameLowering::determineCalleeSaves(MachineFunction &MF, in determineCalleeSaves() argument
489 TargetFrameLowering::determineCalleeSaves(MF, SavedRegs, RS); in determineCalleeSaves()
493 if (isLeafProc(MF) && !hasBP(MF)) { in determineCalleeSaves()
494 VEMachineFunctionInfo *FuncInfo = MF.getInfo<VEMachineFunctionInfo>(); in determineCalleeSaves()