Lines Matching refs:MF
33 bool TargetFrameLowering::enableCalleeSaveSkip(const MachineFunction &MF) const { in enableCalleeSaveSkip()
34 assert(MF.getFunction().hasFnAttribute(Attribute::NoReturn) && in enableCalleeSaveSkip()
35 MF.getFunction().hasFnAttribute(Attribute::NoUnwind) && in enableCalleeSaveSkip()
36 !MF.getFunction().hasFnAttribute(Attribute::UWTable)); in enableCalleeSaveSkip()
40 bool TargetFrameLowering::enableCFIFixup(MachineFunction &MF) const { in enableCFIFixup()
41 return MF.needsFrameMoves() && in enableCFIFixup()
42 !MF.getTarget().getMCAsmInfo()->usesWindowsCFI(); in enableCFIFixup()
50 TargetFrameLowering::getFrameIndexReference(const MachineFunction &MF, int FI, in getFrameIndexReference() argument
52 const MachineFrameInfo &MFI = MF.getFrameInfo(); in getFrameIndexReference()
53 const TargetRegisterInfo *RI = MF.getSubtarget().getRegisterInfo(); in getFrameIndexReference()
58 FrameReg = RI->getFrameRegister(MF); in getFrameIndexReference()
66 const MachineFunction &MF) const { in needsFrameIndexResolution()
67 return MF.getFrameInfo().hasStackObjects(); in needsFrameIndexResolution()
70 void TargetFrameLowering::getCalleeSaves(const MachineFunction &MF, in getCalleeSaves() argument
72 const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo(); in getCalleeSaves()
75 const MachineFrameInfo &MFI = MF.getFrameInfo(); in getCalleeSaves()
83 void TargetFrameLowering::determineCalleeSaves(MachineFunction &MF, in determineCalleeSaves() argument
86 const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo(); in determineCalleeSaves()
95 if (MF.getTarget().Options.EnableIPRA && in determineCalleeSaves()
96 isSafeForNoCSROpt(MF.getFunction()) && in determineCalleeSaves()
97 isProfitableForNoCSROpt(MF.getFunction())) in determineCalleeSaves()
101 const MCPhysReg *CSRegs = MF.getRegInfo().getCalleeSavedRegs(); in determineCalleeSaves()
108 if (MF.getFunction().hasFnAttribute(Attribute::Naked)) in determineCalleeSaves()
118 if (MF.getFunction().hasFnAttribute(Attribute::NoReturn) && in determineCalleeSaves()
119 MF.getFunction().hasFnAttribute(Attribute::NoUnwind) && in determineCalleeSaves()
120 !MF.getFunction().hasFnAttribute(Attribute::UWTable) && in determineCalleeSaves()
121 enableCalleeSaveSkip(MF)) in determineCalleeSaves()
125 bool CallsUnwindInit = MF.callsUnwindInit(); in determineCalleeSaves()
126 const MachineRegisterInfo &MRI = MF.getRegInfo(); in determineCalleeSaves()
135 const MachineFunction &MF) const { in getStackAlignmentSkew()
138 if (LLVM_UNLIKELY(MF.getFunction().getCallingConv() == CallingConv::HHVM)) in getStackAlignmentSkew()
139 return MF.getTarget().getAllocaPointerSize(); in getStackAlignmentSkew()
145 const MachineFunction &MF) const { in allocateScavengingFrameIndexesNearIncomingSP()
146 if (!hasFP(MF)) in allocateScavengingFrameIndexesNearIncomingSP()
149 const TargetRegisterInfo *RegInfo = MF.getSubtarget().getRegisterInfo(); in allocateScavengingFrameIndexesNearIncomingSP()
150 return RegInfo->useFPForScavengingIndex(MF) && in allocateScavengingFrameIndexesNearIncomingSP()
151 !RegInfo->hasStackRealignment(MF); in allocateScavengingFrameIndexesNearIncomingSP()
166 int TargetFrameLowering::getInitialCFAOffset(const MachineFunction &MF) const { in getInitialCFAOffset()
171 TargetFrameLowering::getInitialCFARegister(const MachineFunction &MF) const { in getInitialCFARegister()
176 TargetFrameLowering::getDwarfFrameBase(const MachineFunction &MF) const { in getDwarfFrameBase()
177 const TargetRegisterInfo *RI = MF.getSubtarget().getRegisterInfo(); in getDwarfFrameBase()
178 return DwarfFrameBase{DwarfFrameBase::Register, {RI->getFrameRegister(MF)}}; in getDwarfFrameBase()