Lines Matching defs:MBBInfo
111 void calculateOutgoingCFAInfo(MBBCFAInfo &MBBInfo);
114 void updateSuccCFAInfo(MBBCFAInfo &MBBInfo);
159 MBBCFAInfo &MBBInfo = MBBVector[MBB.getNumber()];
160 MBBInfo.MBB = &MBB;
161 MBBInfo.IncomingCFAOffset = InitialOffset;
162 MBBInfo.OutgoingCFAOffset = InitialOffset;
163 MBBInfo.IncomingCFARegister = InitialRegister;
164 MBBInfo.OutgoingCFARegister = InitialRegister;
165 MBBInfo.IncomingCSRSaved.resize(NumRegs);
166 MBBInfo.OutgoingCSRSaved.resize(NumRegs);
177 void CFIInstrInserter::calculateOutgoingCFAInfo(MBBCFAInfo &MBBInfo) {
179 int64_t SetOffset = MBBInfo.IncomingCFAOffset;
181 unsigned SetRegister = MBBInfo.IncomingCFARegister;
182 MachineFunction *MF = MBBInfo.MBB->getParent();
193 for (MachineInstr &MI : *MBBInfo.MBB) {
290 MBBInfo.Processed = true;
293 MBBInfo.OutgoingCFAOffset = SetOffset;
294 MBBInfo.OutgoingCFARegister = SetRegister;
298 MBBInfo.OutgoingCSRSaved, MBBInfo.IncomingCSRSaved, CSRSaved,
302 void CFIInstrInserter::updateSuccCFAInfo(MBBCFAInfo &MBBInfo) {
304 Stack.push_back(MBBInfo.MBB);
332 const MBBCFAInfo &MBBInfo = MBBVector[MBB.getNumber()];
333 auto MBBI = MBBInfo.MBB->begin();
334 DebugLoc DL = MBBInfo.MBB->findDebugLoc(MBBI);
340 if ((PrevMBBInfo->OutgoingCFAOffset != MBBInfo.IncomingCFAOffset &&
341 PrevMBBInfo->OutgoingCFARegister != MBBInfo.IncomingCFARegister) ||
348 nullptr, MBBInfo.IncomingCFARegister, getCorrectCFAOffset(&MBB)));
349 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION))
352 } else if (PrevMBBInfo->OutgoingCFAOffset != MBBInfo.IncomingCFAOffset) {
358 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION))
362 MBBInfo.IncomingCFARegister) {
365 nullptr, MBBInfo.IncomingCFARegister));
366 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION))
373 *MBBInfo.MBB, MBBI);
375 PrevMBBInfo = &MBBInfo;
380 PrevMBBInfo->OutgoingCSRSaved, MBBInfo.IncomingCSRSaved);
384 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION))
390 MBBInfo.IncomingCSRSaved, PrevMBBInfo->OutgoingCSRSaved);
405 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION))
410 PrevMBBInfo = &MBBInfo;