Lines Matching refs:MBBInfo
111 void calculateOutgoingCFAInfo(MBBCFAInfo &MBBInfo);
114 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 int 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()
266 MBBInfo.Processed = true; in calculateOutgoingCFAInfo()
269 MBBInfo.OutgoingCFAOffset = SetOffset; in calculateOutgoingCFAInfo()
270 MBBInfo.OutgoingCFARegister = SetRegister; in calculateOutgoingCFAInfo()
274 MBBInfo.OutgoingCSRSaved, MBBInfo.IncomingCSRSaved, CSRSaved, in calculateOutgoingCFAInfo()
278 void CFIInstrInserter::updateSuccCFAInfo(MBBCFAInfo &MBBInfo) { in updateSuccCFAInfo() argument
280 Stack.push_back(MBBInfo.MBB); in updateSuccCFAInfo()
308 const MBBCFAInfo &MBBInfo = MBBVector[MBB.getNumber()]; in insertCFIInstrs() local
309 auto MBBI = MBBInfo.MBB->begin(); in insertCFIInstrs()
310 DebugLoc DL = MBBInfo.MBB->findDebugLoc(MBBI); in insertCFIInstrs()
316 if ((PrevMBBInfo->OutgoingCFAOffset != MBBInfo.IncomingCFAOffset && in insertCFIInstrs()
317 PrevMBBInfo->OutgoingCFARegister != MBBInfo.IncomingCFARegister) || in insertCFIInstrs()
324 nullptr, MBBInfo.IncomingCFARegister, getCorrectCFAOffset(&MBB))); in insertCFIInstrs()
325 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) in insertCFIInstrs()
328 } else if (PrevMBBInfo->OutgoingCFAOffset != MBBInfo.IncomingCFAOffset) { in insertCFIInstrs()
334 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) in insertCFIInstrs()
338 MBBInfo.IncomingCFARegister) { in insertCFIInstrs()
341 nullptr, MBBInfo.IncomingCFARegister)); in insertCFIInstrs()
342 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) in insertCFIInstrs()
349 *MBBInfo.MBB, MBBI); in insertCFIInstrs()
351 PrevMBBInfo = &MBBInfo; in insertCFIInstrs()
356 PrevMBBInfo->OutgoingCSRSaved, MBBInfo.IncomingCSRSaved); in insertCFIInstrs()
360 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) in insertCFIInstrs()
366 MBBInfo.IncomingCSRSaved, PrevMBBInfo->OutgoingCSRSaved); in insertCFIInstrs()
381 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) in insertCFIInstrs()
386 PrevMBBInfo = &MBBInfo; in insertCFIInstrs()