Lines Matching refs:FuncInfo

125                              const SIMachineFunctionInfo &FuncInfo,  in buildPrologSpill()  argument
140 FuncInfo.getStackPtrOffsetReg(), 0, MMO, nullptr, in buildPrologSpill()
147 const SIMachineFunctionInfo &FuncInfo, in buildEpilogRestore() argument
161 FuncInfo.getStackPtrOffsetReg(), 0, MMO, nullptr, in buildEpilogRestore()
690 const SIMachineFunctionInfo *FuncInfo, in initLiveRegs() argument
716 SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>(); in buildScratchExecCopy() local
719 initLiveRegs(LiveRegs, TRI, FuncInfo, MF, MBB, MBBI, IsProlog); in buildScratchExecCopy()
746 SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>(); in emitPrologue() local
747 if (FuncInfo->isEntryFunction()) { in emitPrologue()
758 Register StackPtrReg = FuncInfo->getStackPtrOffsetReg(); in emitPrologue()
759 Register FramePtrReg = FuncInfo->getFrameOffsetReg(); in emitPrologue()
775 Optional<int> FPSaveIndex = FuncInfo->FramePointerSaveIndex; in emitPrologue()
776 Optional<int> BPSaveIndex = FuncInfo->BasePointerSaveIndex; in emitPrologue()
780 FuncInfo->getSGPRSpillVGPRs()) { in emitPrologue()
788 buildPrologSpill(ST, TRI, *FuncInfo, LiveRegs, MF, MBB, MBBI, DL, Reg.VGPR, in emitPrologue()
792 for (auto ReservedWWM : FuncInfo->wwmAllocation()) { in emitPrologue()
797 buildPrologSpill(ST, TRI, *FuncInfo, LiveRegs, MF, MBB, MBBI, DL, in emitPrologue()
813 initLiveRegs(LiveRegs, TRI, FuncInfo, MF, MBB, MBBI, /*IsProlog*/ true); in emitPrologue()
823 buildPrologSpill(ST, TRI, *FuncInfo, LiveRegs, MF, MBB, MBBI, DL, TmpVGPR, in emitPrologue()
832 FuncInfo->getSGPRToVGPRSpills(FI); in emitPrologue()
849 if (FuncInfo->SGPRForFPSaveRestoreCopy) { in emitPrologue()
851 FuncInfo->SGPRForFPSaveRestoreCopy) in emitPrologue()
864 if (FuncInfo->SGPRForBPSaveRestoreCopy) { in emitPrologue()
866 FuncInfo->SGPRForBPSaveRestoreCopy) in emitPrologue()
874 if (FuncInfo->SGPRForFPSaveRestoreCopy) in emitPrologue()
875 TempSGPRs.push_back(FuncInfo->SGPRForFPSaveRestoreCopy); in emitPrologue()
877 if (FuncInfo->SGPRForBPSaveRestoreCopy) in emitPrologue()
878 TempSGPRs.push_back(FuncInfo->SGPRForBPSaveRestoreCopy); in emitPrologue()
888 LiveRegs.addReg(FuncInfo->SGPRForFPSaveRestoreCopy); in emitPrologue()
889 LiveRegs.addReg(FuncInfo->SGPRForBPSaveRestoreCopy); in emitPrologue()
914 FuncInfo->setIsStackRealigned(true); in emitPrologue()
939 assert((!HasFP || (FuncInfo->SGPRForFPSaveRestoreCopy || in emitPrologue()
940 FuncInfo->FramePointerSaveIndex)) && in emitPrologue()
945 assert((HasFP || (!FuncInfo->SGPRForFPSaveRestoreCopy && in emitPrologue()
946 !FuncInfo->FramePointerSaveIndex) || in emitPrologue()
950 assert((!HasBP || (FuncInfo->SGPRForBPSaveRestoreCopy || in emitPrologue()
951 FuncInfo->BasePointerSaveIndex)) && in emitPrologue()
954 assert((HasBP || (!FuncInfo->SGPRForBPSaveRestoreCopy && in emitPrologue()
955 !FuncInfo->BasePointerSaveIndex)) && in emitPrologue()
961 const SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>(); in emitEpilogue() local
962 if (FuncInfo->isEntryFunction()) in emitEpilogue()
975 uint32_t RoundedSize = FuncInfo->isStackRealigned() in emitEpilogue()
978 const Register StackPtrReg = FuncInfo->getStackPtrOffsetReg(); in emitEpilogue()
979 const Register FramePtrReg = FuncInfo->getFrameOffsetReg(); in emitEpilogue()
983 Optional<int> FPSaveIndex = FuncInfo->FramePointerSaveIndex; in emitEpilogue()
984 Optional<int> BPSaveIndex = FuncInfo->BasePointerSaveIndex; in emitEpilogue()
994 if (FuncInfo->SGPRForFPSaveRestoreCopy) { in emitEpilogue()
996 .addReg(FuncInfo->SGPRForFPSaveRestoreCopy) in emitEpilogue()
1000 if (FuncInfo->SGPRForBPSaveRestoreCopy) { in emitEpilogue()
1002 .addReg(FuncInfo->SGPRForBPSaveRestoreCopy) in emitEpilogue()
1007 initLiveRegs(LiveRegs, TRI, FuncInfo, MF, MBB, MBBI, /*IsProlog*/ false); in emitEpilogue()
1012 buildEpilogRestore(ST, TRI, *FuncInfo, LiveRegs, MF, MBB, MBBI, DL, TmpVGPR, in emitEpilogue()
1021 FuncInfo->getSGPRToVGPRSpills(FI); in emitEpilogue()
1048 FuncInfo->getSGPRSpillVGPRs()) { in emitEpilogue()
1056 buildEpilogRestore(ST, TRI, *FuncInfo, LiveRegs, MF, MBB, MBBI, DL, in emitEpilogue()
1060 for (auto ReservedWWM : FuncInfo->wwmAllocation()) { in emitEpilogue()
1065 buildEpilogRestore(ST, TRI, *FuncInfo, LiveRegs, MF, MBB, MBBI, DL, in emitEpilogue()
1081 const SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>(); in allSGPRSpillsAreDead() local
1086 (I != FuncInfo->FramePointerSaveIndex && in allSGPRSpillsAreDead()
1087 I != FuncInfo->BasePointerSaveIndex)) { in allSGPRSpillsAreDead()
1114 SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>(); in processFunctionBeforeFrameFinalized() local
1116 if (!FuncInfo->isEntryFunction()) { in processFunctionBeforeFrameFinalized()
1118 FuncInfo->allocateWWMReservedSpillSlots(MFI, *TRI); in processFunctionBeforeFrameFinalized()
1121 const bool SpillVGPRToAGPR = ST.hasMAIInsts() && FuncInfo->hasSpilledVGPRs() in processFunctionBeforeFrameFinalized()
1145 if (FuncInfo->allocateVGPRSpillToAGPR(MF, FI, in processFunctionBeforeFrameFinalized()
1164 FuncInfo->setVGPRToAGPRSpillDead(FI); in processFunctionBeforeFrameFinalized()
1167 for (MCPhysReg Reg : FuncInfo->getVGPRSpillAGPRs()) in processFunctionBeforeFrameFinalized()
1170 for (MCPhysReg Reg : FuncInfo->getAGPRSpillVGPRs()) in processFunctionBeforeFrameFinalized()
1193 FuncInfo->removeDeadFrameIndices(MFI, /*ResetSGPRSpillStackIDs*/ true); in processFunctionBeforeFrameFinalized()
1204 RS->addScavengingFrameIndex(FuncInfo->getScavengeFI(MFI, *TRI)); in processFunctionBeforeFrameFinalized()
1220 SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>(); in processFunctionBeforeFrameIndicesReplaced() local
1227 Register VGPRForAGPRCopy = FuncInfo->getVGPRForAGPRCopy(); in processFunctionBeforeFrameIndicesReplaced()
1235 FuncInfo->setVGPRForAGPRCopy(UnusedLowVGPR); in processFunctionBeforeFrameIndicesReplaced()
1352 const SIMachineFunctionInfo *FuncInfo = MF.getInfo<SIMachineFunctionInfo>(); in assignCalleeSavedSpillSlots() local
1353 if (!FuncInfo->SGPRForFPSaveRestoreCopy && in assignCalleeSavedSpillSlots()
1354 !FuncInfo->SGPRForBPSaveRestoreCopy) in assignCalleeSavedSpillSlots()
1359 Register FramePtrReg = FuncInfo->getFrameOffsetReg(); in assignCalleeSavedSpillSlots()
1363 if (FuncInfo->SGPRForFPSaveRestoreCopy) in assignCalleeSavedSpillSlots()
1365 if (FuncInfo->SGPRForBPSaveRestoreCopy) in assignCalleeSavedSpillSlots()
1369 if (CS.getReg() == FramePtrReg && FuncInfo->SGPRForFPSaveRestoreCopy) { in assignCalleeSavedSpillSlots()
1370 CS.setDstReg(FuncInfo->SGPRForFPSaveRestoreCopy); in assignCalleeSavedSpillSlots()
1374 FuncInfo->SGPRForBPSaveRestoreCopy) { in assignCalleeSavedSpillSlots()
1375 CS.setDstReg(FuncInfo->SGPRForBPSaveRestoreCopy); in assignCalleeSavedSpillSlots()