Lines Matching refs:MF

32 bool TargetFrameLowering::enableCalleeSaveSkip(const MachineFunction &MF) const {  in enableCalleeSaveSkip()
33 assert(MF.getFunction().hasFnAttribute(Attribute::NoReturn) && in enableCalleeSaveSkip()
34 MF.getFunction().hasFnAttribute(Attribute::NoUnwind) && in enableCalleeSaveSkip()
35 !MF.getFunction().hasFnAttribute(Attribute::UWTable)); in enableCalleeSaveSkip()
39 bool TargetFrameLowering::enableCFIFixup(MachineFunction &MF) const { in enableCFIFixup()
40 return MF.needsFrameMoves() && in enableCFIFixup()
41 !MF.getTarget().getMCAsmInfo()->usesWindowsCFI(); in enableCFIFixup()
49 TargetFrameLowering::getFrameIndexReference(const MachineFunction &MF, int FI, in getFrameIndexReference() argument
51 const MachineFrameInfo &MFI = MF.getFrameInfo(); in getFrameIndexReference()
52 const TargetRegisterInfo *RI = MF.getSubtarget().getRegisterInfo(); in getFrameIndexReference()
57 FrameReg = RI->getFrameRegister(MF); in getFrameIndexReference()
65 const MachineFunction &MF) const { in needsFrameIndexResolution()
66 return MF.getFrameInfo().hasStackObjects(); in needsFrameIndexResolution()
69 void TargetFrameLowering::getCalleeSaves(const MachineFunction &MF, in getCalleeSaves() argument
71 const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo(); in getCalleeSaves()
74 const MachineFrameInfo &MFI = MF.getFrameInfo(); in getCalleeSaves()
82 void TargetFrameLowering::determineCalleeSaves(MachineFunction &MF, in determineCalleeSaves() argument
85 const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo(); in determineCalleeSaves()
94 if (MF.getTarget().Options.EnableIPRA && in determineCalleeSaves()
95 isSafeForNoCSROpt(MF.getFunction()) && in determineCalleeSaves()
96 isProfitableForNoCSROpt(MF.getFunction())) in determineCalleeSaves()
100 const MCPhysReg *CSRegs = MF.getRegInfo().getCalleeSavedRegs(); in determineCalleeSaves()
107 if (MF.getFunction().hasFnAttribute(Attribute::Naked)) in determineCalleeSaves()
117 if (MF.getFunction().hasFnAttribute(Attribute::NoReturn) && in determineCalleeSaves()
118 MF.getFunction().hasFnAttribute(Attribute::NoUnwind) && in determineCalleeSaves()
119 !MF.getFunction().hasFnAttribute(Attribute::UWTable) && in determineCalleeSaves()
120 enableCalleeSaveSkip(MF)) in determineCalleeSaves()
124 bool CallsUnwindInit = MF.callsUnwindInit(); in determineCalleeSaves()
125 const MachineRegisterInfo &MRI = MF.getRegInfo(); in determineCalleeSaves()
134 const MachineFunction &MF) const { in allocateScavengingFrameIndexesNearIncomingSP()
135 if (!hasFP(MF)) in allocateScavengingFrameIndexesNearIncomingSP()
138 const TargetRegisterInfo *RegInfo = MF.getSubtarget().getRegisterInfo(); in allocateScavengingFrameIndexesNearIncomingSP()
139 return RegInfo->useFPForScavengingIndex(MF) && in allocateScavengingFrameIndexesNearIncomingSP()
140 !RegInfo->hasStackRealignment(MF); in allocateScavengingFrameIndexesNearIncomingSP()
155 int TargetFrameLowering::getInitialCFAOffset(const MachineFunction &MF) const { in getInitialCFAOffset()
160 TargetFrameLowering::getInitialCFARegister(const MachineFunction &MF) const { in getInitialCFARegister()
165 TargetFrameLowering::getDwarfFrameBase(const MachineFunction &MF) const { in getDwarfFrameBase()
166 const TargetRegisterInfo *RI = MF.getSubtarget().getRegisterInfo(); in getDwarfFrameBase()
167 return DwarfFrameBase{DwarfFrameBase::Register, {RI->getFrameRegister(MF)}}; in getDwarfFrameBase()