• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/

Lines Matching refs:MBBInfo

113   void calculateOutgoingCFAInfo(MBBCFAInfo &MBBInfo);
116 void updateSuccCFAInfo(MBBCFAInfo &MBBInfo);
160 MBBCFAInfo MBBInfo;
161 MBBInfo.MBB = &MBB;
162 MBBInfo.IncomingCFAOffset = InitialOffset;
163 MBBInfo.OutgoingCFAOffset = InitialOffset;
164 MBBInfo.IncomingCFARegister = InitialRegister;
165 MBBInfo.OutgoingCFARegister = InitialRegister;
166 MBBInfo.IncomingCSRSaved.resize(NumRegs);
167 MBBInfo.OutgoingCSRSaved.resize(NumRegs);
168 MBBVector[MBB.getNumber()] = MBBInfo;
179 void CFIInstrInserter::calculateOutgoingCFAInfo(MBBCFAInfo &MBBInfo) {
181 int SetOffset = MBBInfo.IncomingCFAOffset;
183 unsigned SetRegister = MBBInfo.IncomingCFARegister;
184 MachineFunction *MF = MBBInfo.MBB->getParent();
191 for (MachineInstr &MI : *MBBInfo.MBB) {
261 MBBInfo.Processed = true;
264 MBBInfo.OutgoingCFAOffset = SetOffset;
265 MBBInfo.OutgoingCFARegister = SetRegister;
268 MBBInfo.OutgoingCSRSaved = MBBInfo.IncomingCSRSaved;
269 MBBInfo.OutgoingCSRSaved |= CSRSaved;
270 MBBInfo.OutgoingCSRSaved.reset(CSRRestored);
273 void CFIInstrInserter::updateSuccCFAInfo(MBBCFAInfo &MBBInfo) {
275 Stack.push_back(MBBInfo.MBB);
302 const MBBCFAInfo &MBBInfo = MBBVector[MBB.getNumber()];
303 auto MBBI = MBBInfo.MBB->begin();
304 DebugLoc DL = MBBInfo.MBB->findDebugLoc(MBBI);
310 if ((PrevMBBInfo->OutgoingCFAOffset != MBBInfo.IncomingCFAOffset &&
311 PrevMBBInfo->OutgoingCFARegister != MBBInfo.IncomingCFARegister) ||
318 nullptr, MBBInfo.IncomingCFARegister, getCorrectCFAOffset(&MBB)));
319 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION))
322 } else if (PrevMBBInfo->OutgoingCFAOffset != MBBInfo.IncomingCFAOffset) {
328 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION))
332 MBBInfo.IncomingCFARegister) {
335 nullptr, MBBInfo.IncomingCFARegister));
336 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION))
343 *MBBInfo.MBB, MBBI);
345 PrevMBBInfo = &MBBInfo;
350 SetDifference.reset(MBBInfo.IncomingCSRSaved);
354 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION))
359 SetDifference = MBBInfo.IncomingCSRSaved;
375 BuildMI(*MBBInfo.MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION))
380 PrevMBBInfo = &MBBInfo;