Lines Matching refs:MF
27 const MachineFunction &MF) { in getAllSGPR128() argument
29 ST.getMaxNumSGPRs(MF) / 4); in getAllSGPR128()
33 const MachineFunction &MF) { in getAllSGPRs() argument
35 ST.getMaxNumSGPRs(MF)); in getAllSGPRs()
39 MachineFunction &MF, in emitFlatScratchInit() argument
43 const SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>(); in emitFlatScratchInit()
63 MachineRegisterInfo &MRI = MF.getRegInfo(); in emitFlatScratchInit()
105 MachineFunction &MF) const { in getReservedPrivateSegmentBufferReg()
106 MachineRegisterInfo &MRI = MF.getRegInfo(); in getReservedPrivateSegmentBufferReg()
115 ScratchRsrcReg != TRI->reservedPrivateSegmentBufferReg(MF)) in getReservedPrivateSegmentBufferReg()
130 ArrayRef<MCPhysReg> AllSGPR128s = getAllSGPR128(ST, MF); in getReservedPrivateSegmentBufferReg()
156 MachineFunction &MF) const { in getReservedPrivateSegmentWaveByteOffsetReg()
157 MachineRegisterInfo &MRI = MF.getRegInfo(); in getReservedPrivateSegmentWaveByteOffsetReg()
173 ArrayRef<MCPhysReg> AllSGPRs = getAllSGPRs(ST, MF); in getReservedPrivateSegmentWaveByteOffsetReg()
199 ScratchWaveOffsetReg != TRI->reservedPrivateSegmentWaveByteOffsetReg(MF); in getReservedPrivateSegmentWaveByteOffsetReg()
219 void SIFrameLowering::emitEntryFunctionPrologue(MachineFunction &MF, in emitEntryFunctionPrologue() argument
223 const GCNSubtarget &ST = MF.getSubtarget<GCNSubtarget>(); in emitEntryFunctionPrologue()
225 emitDebuggerPrologue(MF, MBB); in emitEntryFunctionPrologue()
227 assert(&MF.front() == &MBB && "Shrink-wrapping not yet supported"); in emitEntryFunctionPrologue()
229 SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>(); in emitEntryFunctionPrologue()
239 MachineRegisterInfo &MRI = MF.getRegInfo(); in emitEntryFunctionPrologue()
240 const Function &F = MF.getFunction(); in emitEntryFunctionPrologue()
252 emitFlatScratchInit(ST, MF, MBB); in emitEntryFunctionPrologue()
259 const MachineFrameInfo &FrameInfo = MF.getFrameInfo(); in emitEntryFunctionPrologue()
273 = getReservedPrivateSegmentBufferReg(ST, TII, TRI, MFI, MF); in emitEntryFunctionPrologue()
277 = getReservedPrivateSegmentWaveByteOffsetReg(ST, TII, TRI, MFI, MF); in emitEntryFunctionPrologue()
317 for (MachineBasicBlock &OtherBB : MF) { in emitEntryFunctionPrologue()
362 emitEntryFunctionScratchSetup(ST, MF, MBB, MFI, I, in emitEntryFunctionPrologue()
368 MachineFunction &MF, MachineBasicBlock &MBB, SIMachineFunctionInfo *MFI, in emitEntryFunctionScratchSetup() argument
374 const Function &Fn = MF.getFunction(); in emitEntryFunctionScratchSetup()
396 switch (MF.getFunction().getCallingConv()) { in emitEntryFunctionScratchSetup()
407 MF.getRegInfo().addLiveIn(GitPtrLo); in emitEntryFunctionScratchSetup()
408 MF.front().addLiveIn(GitPtrLo); in emitEntryFunctionScratchSetup()
416 PointerType::get(Type::getInt64Ty(MF.getFunction().getContext()), in emitEntryFunctionScratchSetup()
420 auto MMO = MF.getMachineMemOperand(PtrInfo, in emitEntryFunctionScratchSetup()
448 if (AMDGPU::isCompute(MF.getFunction().getCallingConv())) { in emitEntryFunctionScratchSetup()
458 PointerType::get(Type::getInt64Ty(MF.getFunction().getContext()), in emitEntryFunctionScratchSetup()
461 auto MMO = MF.getMachineMemOperand(PtrInfo, in emitEntryFunctionScratchSetup()
509 MachineFunction *MF = MBB.getParent(); in findScratchNonCalleeSaveRegister() local
511 const GCNSubtarget &Subtarget = MF->getSubtarget<GCNSubtarget>(); in findScratchNonCalleeSaveRegister()
517 const MCPhysReg *CSRegs = TRI.getCalleeSavedRegs(MF); in findScratchNonCalleeSaveRegister()
521 MachineRegisterInfo &MRI = MF->getRegInfo(); in findScratchNonCalleeSaveRegister()
531 void SIFrameLowering::emitPrologue(MachineFunction &MF, in emitPrologue() argument
533 SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>(); in emitPrologue()
535 emitEntryFunctionPrologue(MF, MBB); in emitPrologue()
539 const MachineFrameInfo &MFI = MF.getFrameInfo(); in emitPrologue()
540 const GCNSubtarget &ST = MF.getSubtarget<GCNSubtarget>(); in emitPrologue()
552 bool NeedFP = hasFP(MF); in emitPrologue()
555 const bool NeedsRealignment = TRI.needsStackRealignment(MF); in emitPrologue()
587 if (RoundedSize != 0 && hasSP(MF)) { in emitPrologue()
604 void SIFrameLowering::emitEpilogue(MachineFunction &MF, in emitEpilogue() argument
606 const SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>(); in emitEpilogue()
610 const GCNSubtarget &ST = MF.getSubtarget<GCNSubtarget>(); in emitEpilogue()
627 const MachineFrameInfo &MFI = MF.getFrameInfo(); in emitEpilogue()
635 if (NumBytes != 0 && hasSP(MF)) { in emitEpilogue()
655 int SIFrameLowering::getFrameIndexReference(const MachineFunction &MF, int FI, in getFrameIndexReference() argument
657 const SIRegisterInfo *RI = MF.getSubtarget<GCNSubtarget>().getRegisterInfo(); in getFrameIndexReference()
659 FrameReg = RI->getFrameRegister(MF); in getFrameIndexReference()
660 return MF.getFrameInfo().getObjectOffset(FI); in getFrameIndexReference()
664 MachineFunction &MF, in processFunctionBeforeFrameFinalized() argument
666 MachineFrameInfo &MFI = MF.getFrameInfo(); in processFunctionBeforeFrameFinalized()
671 const GCNSubtarget &ST = MF.getSubtarget<GCNSubtarget>(); in processFunctionBeforeFrameFinalized()
674 SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>(); in processFunctionBeforeFrameFinalized()
688 for (MachineBasicBlock &MBB : MF) { in processFunctionBeforeFrameFinalized()
697 if (FuncInfo->allocateSGPRSpillToVGPR(MF, FI)) { in processFunctionBeforeFrameFinalized()
736 void SIFrameLowering::determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, in determineCalleeSaves() argument
738 TargetFrameLowering::determineCalleeSaves(MF, SavedRegs, RS); in determineCalleeSaves()
739 const SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>(); in determineCalleeSaves()
746 MachineFunction &MF, in eliminateCallFramePseudoInstr() argument
753 const GCNSubtarget &ST = MF.getSubtarget<GCNSubtarget>(); in eliminateCallFramePseudoInstr()
760 const TargetFrameLowering *TFI = MF.getSubtarget().getFrameLowering(); in eliminateCallFramePseudoInstr()
761 if (!TFI->hasReservedCallFrame(MF)) { in eliminateCallFramePseudoInstr()
766 const SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>(); in eliminateCallFramePseudoInstr()
780 void SIFrameLowering::emitDebuggerPrologue(MachineFunction &MF, in emitDebuggerPrologue() argument
782 const GCNSubtarget &ST = MF.getSubtarget<GCNSubtarget>(); in emitDebuggerPrologue()
785 const SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>(); in emitDebuggerPrologue()
794 MF.getRegInfo().addLiveIn(WorkGroupIDSGPR); in emitDebuggerPrologue()
800 MF.getRegInfo().createVirtualRegister(&AMDGPU::VGPR_32RegClass); in emitDebuggerPrologue()
811 MF.getRegInfo().addLiveIn(WorkItemIDVGPR); in emitDebuggerPrologue()
821 bool SIFrameLowering::hasFP(const MachineFunction &MF) const { in hasFP()
824 const MachineFrameInfo &MFI = MF.getFrameInfo(); in hasFP()
831 bool SIFrameLowering::hasSP(const MachineFunction &MF) const { in hasSP()
832 const SIRegisterInfo *TRI = MF.getSubtarget<GCNSubtarget>().getRegisterInfo(); in hasSP()
834 const MachineFrameInfo &MFI = MF.getFrameInfo(); in hasSP()
835 return MFI.hasCalls() || MFI.hasVarSizedObjects() || TRI->needsStackRealignment(MF); in hasSP()