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.needsStackRealignment(MF); in emitPrologue()
328 report_fatal_error("Function \"" + Twine(MF.getName()) + in emitPrologue()
353 emitPrologueInsns(MF, MBB, MBBI, NumBytes, true); in emitPrologue()
368 emitSPAdjustment(MF, MBB, MBBI, -(int64_t)NumBytes, RuntimeAlign); in emitPrologue()
370 if (hasBP(MF)) { in emitPrologue()
379 emitSPExtend(MF, MBB, MBBI); in emitPrologue()
383 MachineFunction &MF, MachineBasicBlock &MBB, in eliminateCallFramePseudoInstr() argument
385 if (!hasReservedCallFrame(MF)) { in eliminateCallFramePseudoInstr()
392 emitSPAdjustment(MF, MBB, I, Size); in eliminateCallFramePseudoInstr()
397 void VEFrameLowering::emitEpilogue(MachineFunction &MF, in emitEpilogue() argument
399 const VEMachineFunctionInfo *FuncInfo = MF.getInfo<VEMachineFunctionInfo>(); in emitEpilogue()
402 MachineFrameInfo &MFI = MF.getFrameInfo(); in emitEpilogue()
416 emitSPAdjustment(MF, MBB, MBBI, NumBytes, None); in emitEpilogue()
420 emitEpilogueInsns(MF, MBB, MBBI, NumBytes, true); in emitEpilogue()
426 bool VEFrameLowering::hasFP(const MachineFunction &MF) const { in hasFP()
427 const TargetRegisterInfo *RegInfo = MF.getSubtarget().getRegisterInfo(); in hasFP()
429 const MachineFrameInfo &MFI = MF.getFrameInfo(); in hasFP()
430 return MF.getTarget().Options.DisableFramePointerElim(MF) || in hasFP()
431 RegInfo->needsStackRealignment(MF) || MFI.hasVarSizedObjects() || in hasFP()
435 bool VEFrameLowering::hasBP(const MachineFunction &MF) const { in hasBP()
436 const MachineFrameInfo &MFI = MF.getFrameInfo(); in hasBP()
439 return MFI.hasVarSizedObjects() && TRI->needsStackRealignment(MF); in hasBP()
442 bool VEFrameLowering::hasGOT(const MachineFunction &MF) const { in hasGOT()
443 const VEMachineFunctionInfo *FuncInfo = MF.getInfo<VEMachineFunctionInfo>(); in hasGOT()
449 StackOffset VEFrameLowering::getFrameIndexReference(const MachineFunction &MF, in getFrameIndexReference() argument
452 const MachineFrameInfo &MFI = MF.getFrameInfo(); in getFrameIndexReference()
456 int64_t FrameOffset = MF.getFrameInfo().getObjectOffset(FI); in getFrameIndexReference()
458 if (!hasFP(MF)) { in getFrameIndexReference()
462 MF.getFrameInfo().getStackSize()); in getFrameIndexReference()
464 if (RegInfo->needsStackRealignment(MF) && !isFixed) { in getFrameIndexReference()
467 if (hasBP(MF)) in getFrameIndexReference()
472 MF.getFrameInfo().getStackSize()); in getFrameIndexReference()
475 FrameReg = RegInfo->getFrameRegister(MF); in getFrameIndexReference()
479 bool VEFrameLowering::isLeafProc(MachineFunction &MF) const { in isLeafProc()
481 MachineRegisterInfo &MRI = MF.getRegInfo(); in isLeafProc()
482 MachineFrameInfo &MFI = MF.getFrameInfo(); in isLeafProc()
488 && !hasFP(MF); // Don't need %fp in isLeafProc()
491 void VEFrameLowering::determineCalleeSaves(MachineFunction &MF, in determineCalleeSaves() argument
494 TargetFrameLowering::determineCalleeSaves(MF, SavedRegs, RS); in determineCalleeSaves()
498 if (isLeafProc(MF) && !hasBP(MF)) { in determineCalleeSaves()
499 VEMachineFunctionInfo *FuncInfo = MF.getInfo<VEMachineFunctionInfo>(); in determineCalleeSaves()