reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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);