reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/MachineVerifier.cpp
  625     for (const auto &LI : MBB->liveins()) {
  626       if (isAllocatable(LI.PhysReg) && !MBB->isEHPad() &&
  627           MBB->getIterator() != MBB->getParent()->begin()) {
  627           MBB->getIterator() != MBB->getParent()->begin()) {
  628         report("MBB has allocatable live-in, but isn't entry or landing-pad.", MBB);
  636   for (MachineBasicBlock::const_succ_iterator I = MBB->succ_begin(),
  637        E = MBB->succ_end(); I != E; ++I) {
  641       report("MBB has successor that isn't part of the function.", MBB);
  642     if (!MBBInfoMap[*I].Preds.count(MBB)) {
  643       report("Inconsistent CFG", MBB);
  650   for (MachineBasicBlock::const_pred_iterator I = MBB->pred_begin(),
  651        E = MBB->pred_end(); I != E; ++I) {
  653       report("MBB has predecessor that isn't part of the function.", MBB);
  654     if (!MBBInfoMap[*I].Succs.count(MBB)) {
  655       report("Inconsistent CFG", MBB);
  662   const BasicBlock *BB = MBB->getBasicBlock();
  669     report("MBB has more than one landing pad successor", MBB);
  674   if (!TII->analyzeBranch(*const_cast<MachineBasicBlock *>(MBB), TBB, FBB,
  680       MachineFunction::const_iterator MBBI = MBB->getIterator();
  686       } else if (MBB->succ_size() == LandingPadSuccs.size()) {
  690       } else if (MBB->succ_size() != 1+LandingPadSuccs.size()) {
  692                "exactly one CFG successor!", MBB);
  693       } else if (!MBB->isSuccessor(&*MBBI)) {
  695                "differs from its CFG successor!", MBB);
  697       if (!MBB->empty() && MBB->back().isBarrier() &&
  697       if (!MBB->empty() && MBB->back().isBarrier() &&
  698           !TII->isPredicated(MBB->back())) {
  700                "barrier instruction!", MBB);
  704                MBB);
  710       if (MBB->succ_size() != 1+LandingPadSuccs.size() &&
  711           (MBB->succ_size() != 1 || LandingPadSuccs.size() != 1 ||
  712            *MBB->succ_begin() != *LandingPadSuccs.begin())) {
  714                "exactly one CFG successor!", MBB);
  715       } else if (!MBB->isSuccessor(TBB)) {
  717                "successor doesn't match the actual successor!", MBB);
  719       if (MBB->empty()) {
  721                "any instructions!", MBB);
  722       } else if (!MBB->back().isBarrier()) {
  724                "barrier instruction!", MBB);
  725       } else if (!MBB->back().isTerminator()) {
  727                "terminator instruction!", MBB);
  731       MachineFunction::const_iterator MBBI = MBB->getIterator();
  734         report("MBB conditionally falls through out of function!", MBB);
  735       } else if (MBB->succ_size() == 1) {
  739                  "one CFG successor!", MBB);
  740         else if (TBB != *MBB->succ_begin())
  742                  "successor don't match the actual successor!", MBB);
  743       } else if (MBB->succ_size() != 2) {
  745                "exactly two CFG successors!", MBB);
  746       } else if (!matchPair(MBB->succ_begin(), TBB, &*MBBI)) {
  748                "successors don't match the actual successors!", MBB);
  750       if (MBB->empty()) {
  752                "contain any instructions!", MBB);
  753       } else if (MBB->back().isBarrier()) {
  755                "barrier instruction!", MBB);
  756       } else if (!MBB->back().isTerminator()) {
  758                "isn't a terminator instruction!", MBB);
  763       if (MBB->succ_size() == 1) {
  767                  "one CFG successor!", MBB);
  768         else if (TBB != *MBB->succ_begin())
  770                  "successor don't match the actual successor!", MBB);
  771       } else if (MBB->succ_size() != 2) {
  773                "exactly two CFG successors!", MBB);
  774       } else if (!matchPair(MBB->succ_begin(), TBB, FBB)) {
  776                "successors don't match the actual successors!", MBB);
  778       if (MBB->empty()) {
  780                "contain any instructions!", MBB);
  781       } else if (!MBB->back().isBarrier()) {
  783                "barrier instruction!", MBB);
  784       } else if (!MBB->back().isTerminator()) {
  786                "isn't a terminator instruction!", MBB);
  790                "condition!", MBB);
  793       report("AnalyzeBranch returned invalid data!", MBB);
  799     for (const auto &LI : MBB->liveins()) {
  801         report("MBB live-in list contains non-physical register", MBB);
  822     lastIndex = Indexes->getMBBStartIdx(MBB);