Lines Matching refs:Succ
527 void MachineBasicBlock::addSuccessor(MachineBasicBlock *Succ, in addSuccessor() argument
533 Successors.push_back(Succ); in addSuccessor()
534 Succ->addPredecessor(this); in addSuccessor()
537 void MachineBasicBlock::addSuccessorWithoutProb(MachineBasicBlock *Succ) { in addSuccessorWithoutProb() argument
542 Successors.push_back(Succ); in addSuccessorWithoutProb()
543 Succ->addPredecessor(this); in addSuccessorWithoutProb()
546 void MachineBasicBlock::removeSuccessor(MachineBasicBlock *Succ, in removeSuccessor() argument
548 succ_iterator I = std::find(Successors.begin(), Successors.end(), Succ); in removeSuccessor()
624 MachineBasicBlock *Succ = *FromMBB->succ_begin(); in transferSuccessors() local
629 addSuccessor(Succ, Prob); in transferSuccessors()
631 addSuccessorWithoutProb(Succ); in transferSuccessors()
633 FromMBB->removeSuccessor(Succ); in transferSuccessors()
643 MachineBasicBlock *Succ = *FromMBB->succ_begin(); in transferSuccessorsAndUpdatePHIs() local
646 addSuccessor(Succ, Prob); in transferSuccessorsAndUpdatePHIs()
648 addSuccessorWithoutProb(Succ); in transferSuccessorsAndUpdatePHIs()
649 FromMBB->removeSuccessor(Succ); in transferSuccessorsAndUpdatePHIs()
652 for (MachineBasicBlock::instr_iterator MI = Succ->instr_begin(), in transferSuccessorsAndUpdatePHIs()
653 ME = Succ->instr_end(); MI != ME && MI->isPHI(); ++MI) in transferSuccessorsAndUpdatePHIs()
718 MachineBasicBlock *MachineBasicBlock::SplitCriticalEdge(MachineBasicBlock *Succ, in SplitCriticalEdge() argument
720 if (!canSplitCriticalEdge(Succ)) in SplitCriticalEdge()
731 << " -- BB#" << Succ->getNumber() << '\n'); in SplitCriticalEdge()
784 ReplaceUsesOfBlockWith(Succ, NMBB); in SplitCriticalEdge()
812 NMBB->addSuccessor(Succ); in SplitCriticalEdge()
813 if (!NMBB->isLayoutSuccessor(Succ)) { in SplitCriticalEdge()
816 TII->InsertBranch(*NMBB, Succ, nullptr, Cond, DL); in SplitCriticalEdge()
831 i = Succ->instr_begin(),e = Succ->instr_end(); in SplitCriticalEdge()
838 for (const auto &LI : Succ->liveins()) in SplitCriticalEdge()
857 LV->addNewBlock(NMBB, this, Succ); in SplitCriticalEdge()
878 I = Succ->instr_begin(), E = Succ->instr_end(); in SplitCriticalEdge()
907 bool isLiveOut = LI.liveAt(LIS->getMBBStartIdx(Succ)); in SplitCriticalEdge()
924 MDT->recordSplitCriticalEdge(this, Succ, NMBB); in SplitCriticalEdge()
930 if (MachineLoop *DestLoop = MLI->getLoopFor(Succ)) { in SplitCriticalEdge()
945 assert(DestLoop->getHeader() == Succ && in SplitCriticalEdge()
957 const MachineBasicBlock *Succ) const { in canSplitCriticalEdge()
960 if (Succ->isEHPad()) in canSplitCriticalEdge()
1148 MachineBasicBlock::getSuccProbability(const_succ_iterator Succ) const { in getSuccProbability()
1152 const auto &Prob = *getProbabilityIterator(Succ); in getSuccProbability()