Lines Matching refs:CSI
223 unsigned getMaxCalleeSavedReg(const std::vector<CalleeSavedInfo> &CSI, in getMaxCalleeSavedReg() argument
227 if (CSI.empty()) in getMaxCalleeSavedReg()
230 unsigned Max = getMax32BitSubRegister(CSI[0].getReg(), TRI); in getMaxCalleeSavedReg()
231 for (unsigned I = 1, E = CSI.size(); I < E; ++I) { in getMaxCalleeSavedReg()
232 unsigned Reg = getMax32BitSubRegister(CSI[I].getReg(), TRI); in getMaxCalleeSavedReg()
447 const std::vector<CalleeSavedInfo> &CSI = MFI->getCalleeSavedInfo(); in emitPrologue() local
454 insertCSRSpillsInBlock(*PrologB, CSI, HRI, PrologueStubs); in emitPrologue()
458 insertCSRRestoresInBlock(*EpilogB, CSI, HRI); in emitPrologue()
463 insertCSRRestoresInBlock(B, CSI, HRI); in emitPrologue()
475 for (auto &R : CSI) in emitPrologue()
663 auto &CSI = MBB.getParent()->getFrameInfo()->getCalleeSavedInfo(); in updateExitPaths() local
676 for (auto &R : CSI) in updateExitPaths()
685 for (auto &R : CSI) in updateExitPaths()
785 const std::vector<CalleeSavedInfo> &CSI = MFI.getCalleeSavedInfo(); in insertCFIInstructionsAt() local
792 auto F = std::find_if(CSI.begin(), CSI.end(), IfR); in insertCFIInstructionsAt()
793 if (F == CSI.end()) in insertCFIInstructionsAt()
1044 const CSIVect &CSI, const HexagonRegisterInfo &HRI, in insertCSRSpillsInBlock() argument
1046 if (CSI.empty()) in insertCSRSpillsInBlock()
1054 if (useSpillFunction(MF, CSI)) { in insertCSRSpillsInBlock()
1056 unsigned MaxReg = getMaxCalleeSavedReg(CSI, HRI); in insertCSRSpillsInBlock()
1077 addCalleeSaveRegistersAsImpOperand(SaveRegsCall, CSI, false, true); in insertCSRSpillsInBlock()
1079 for (unsigned I = 0; I < CSI.size(); ++I) in insertCSRSpillsInBlock()
1080 MBB.addLiveIn(CSI[I].getReg()); in insertCSRSpillsInBlock()
1084 for (unsigned i = 0, n = CSI.size(); i < n; ++i) { in insertCSRSpillsInBlock()
1085 unsigned Reg = CSI[i].getReg(); in insertCSRSpillsInBlock()
1090 int FI = CSI[i].getFrameIdx(); in insertCSRSpillsInBlock()
1101 const CSIVect &CSI, const HexagonRegisterInfo &HRI) const { in insertCSRRestoresInBlock() argument
1102 if (CSI.empty()) in insertCSRRestoresInBlock()
1109 if (useRestoreFunction(MF, CSI)) { in insertCSRRestoresInBlock()
1111 unsigned MaxR = getMaxCalleeSavedReg(CSI, HRI); in insertCSRRestoresInBlock()
1138 addCalleeSaveRegistersAsImpOperand(DeallocCall, CSI, true, false); in insertCSRRestoresInBlock()
1142 for (unsigned i = 0; i < CSI.size(); ++i) { in insertCSRRestoresInBlock()
1143 unsigned Reg = CSI[i].getReg(); in insertCSRRestoresInBlock()
1145 int FI = CSI[i].getFrameIdx(); in insertCSRRestoresInBlock()
1241 const TargetRegisterInfo *TRI, std::vector<CalleeSavedInfo> &CSI) const { in assignCalleeSavedSpillSlots()
1254 for (unsigned i = 0, n = CSI.size(); i < n; ++i) { in assignCalleeSavedSpillSlots()
1255 unsigned R = CSI[i].getReg(); in assignCalleeSavedSpillSlots()
1314 CSI.clear(); in assignCalleeSavedSpillSlots()
1326 CSI.push_back(CalleeSavedInfo(S->Reg, FI)); in assignCalleeSavedSpillSlots()
1342 CSI.push_back(CalleeSavedInfo(R, FI)); in assignCalleeSavedSpillSlots()
1348 for (unsigned i = 0, n = CSI.size(); i < n; ++i) { in assignCalleeSavedSpillSlots()
1349 int FI = CSI[i].getFrameIdx(); in assignCalleeSavedSpillSlots()
1351 dbgs() << ' ' << PrintReg(CSI[i].getReg(), TRI) << ":fi#" << FI << ":sp"; in assignCalleeSavedSpillSlots()
2263 const CSIVect &CSI, bool IsDef, bool IsKill) const { in addCalleeSaveRegistersAsImpOperand() argument
2265 for (auto &R : CSI) in addCalleeSaveRegistersAsImpOperand()
2275 const CSIVect &CSI) const { in shouldInlineCSR()
2285 for (unsigned i = 0, n = CSI.size(); i < n; ++i) { in shouldInlineCSR()
2286 unsigned R = CSI[i].getReg(); in shouldInlineCSR()
2306 const CSIVect &CSI) const { in useSpillFunction()
2307 if (shouldInlineCSR(MF, CSI)) in useSpillFunction()
2309 unsigned NumCSI = CSI.size(); in useSpillFunction()
2320 const CSIVect &CSI) const { in useRestoreFunction()
2321 if (shouldInlineCSR(MF, CSI)) in useRestoreFunction()
2331 unsigned NumCSI = CSI.size(); in useRestoreFunction()