Lines Matching refs:MBBInfo
110 void calculateOutgoingCFAInfo(MBBCFAInfo &MBBInfo);
113 void updateSuccCFAInfo(MBBCFAInfo &MBBInfo);
158 MBBCFAInfo &MBBInfo = MBBVector[MBB.getNumber()]; in calculateCFAInfo() local
159 MBBInfo.MBB = &MBB; in calculateCFAInfo()
160 MBBInfo.IncomingCFAOffset = InitialOffset; in calculateCFAInfo()
161 MBBInfo.OutgoingCFAOffset = InitialOffset; in calculateCFAInfo()
162 MBBInfo.IncomingCFARegister = InitialRegister; in calculateCFAInfo()
163 MBBInfo.OutgoingCFARegister = InitialRegister; in calculateCFAInfo()
164 MBBInfo.IncomingCSRSaved.resize(NumRegs); in calculateCFAInfo()
165 MBBInfo.OutgoingCSRSaved.resize(NumRegs); in calculateCFAInfo()
176 void CFIInstrInserter::calculateOutgoingCFAInfo(MBBCFAInfo &MBBInfo) { in calculateOutgoingCFAInfo() argument
178 int64_t SetOffset = MBBInfo.IncomingCFAOffset; in calculateOutgoingCFAInfo()
180 unsigned SetRegister = MBBInfo.IncomingCFARegister; in calculateOutgoingCFAInfo()
181 MachineFunction *MF = MBBInfo.MBB->getParent(); in calculateOutgoingCFAInfo()
188 for (MachineInstr &MI : *MBBInfo.MBB) { in calculateOutgoingCFAInfo()
267 MBBInfo.Processed = true; in calculateOutgoingCFAInfo()
270 MBBInfo.OutgoingCFAOffset = SetOffset; in calculateOutgoingCFAInfo()
271 MBBInfo.OutgoingCFARegister = SetRegister; in calculateOutgoingCFAInfo()
275 MBBInfo.OutgoingCSRSaved, MBBInfo.IncomingCSRSaved, CSRSaved, in calculateOutgoingCFAInfo()
279 void CFIInstrInserter::updateSuccCFAInfo(MBBCFAInfo &MBBInfo) { in updateSuccCFAInfo() argument
281 Stack.push_back(MBBInfo.MBB); in updateSuccCFAInfo()
309 const MBBCFAInfo &MBBInfo = MBBVector[MBB.getNumber()]; in insertCFIInstrs() local
310 auto MBBI = MBBInfo.MBB->begin(); in insertCFIInstrs()
311 DebugLoc DL = MBBInfo.MBB->findDebugLoc(MBBI); in insertCFIInstrs()
317 if ((PrevMBBInfo->OutgoingCFAOffset != MBBInfo.IncomingCFAOffset && in insertCFIInstrs()
318 PrevMBBInfo->OutgoingCFARegister != MBBInfo.IncomingCFARegister) || in insertCFIInstrs()
325 nullptr, MBBInfo.IncomingCFARegister, getCorrectCFAOffset(&MBB))); in insertCFIInstrs()
326 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) in insertCFIInstrs()
329 } else if (PrevMBBInfo->OutgoingCFAOffset != MBBInfo.IncomingCFAOffset) { in insertCFIInstrs()
335 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) in insertCFIInstrs()
339 MBBInfo.IncomingCFARegister) { in insertCFIInstrs()
342 nullptr, MBBInfo.IncomingCFARegister)); in insertCFIInstrs()
343 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) in insertCFIInstrs()
350 *MBBInfo.MBB, MBBI); in insertCFIInstrs()
352 PrevMBBInfo = &MBBInfo; in insertCFIInstrs()
357 PrevMBBInfo->OutgoingCSRSaved, MBBInfo.IncomingCSRSaved); in insertCFIInstrs()
361 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) in insertCFIInstrs()
367 MBBInfo.IncomingCSRSaved, PrevMBBInfo->OutgoingCSRSaved); in insertCFIInstrs()
382 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) in insertCFIInstrs()
387 PrevMBBInfo = &MBBInfo; in insertCFIInstrs()