Lines Matching refs:Tail
91 MachineBasicBlock *Tail; member in __anonab7bea710111::SSAIfConv
101 bool isTriangle() const { return TBB == Tail || FBB == Tail; } in isTriangle()
104 MachineBasicBlock *getTPred() const { return TBB == Tail ? Head : TBB; } in getTPred()
107 MachineBasicBlock *getFPred() const { return FBB == Tail ? Head : FBB; } in getFPred()
342 TBB = FBB = Tail = nullptr; in canConvertIf()
356 Tail = Succ0->succ_begin()[0]; in canConvertIf()
359 if (Tail != Succ1) { in canConvertIf()
362 Succ1->succ_begin()[0] != Tail) in canConvertIf()
367 << " -> BB#" << Tail->getNumber() << '\n'); in canConvertIf()
370 if (!Tail->livein_empty()) { in canConvertIf()
377 << " -> BB#" << Tail->getNumber() << '\n'); in canConvertIf()
382 if (Tail->empty() || !Tail->front().isPHI()) { in canConvertIf()
408 for (MachineBasicBlock::iterator I = Tail->begin(), E = Tail->end(); in canConvertIf()
433 if (TBB != Tail && !canSpeculateInstrs(TBB)) in canConvertIf()
435 if (FBB != Tail && !canSpeculateInstrs(FBB)) in canConvertIf()
454 assert(Tail->pred_size() == 2 && "Cannot replace PHIs"); in replacePHIInstrs()
518 assert(Head && Tail && TBB && FBB && "Call canConvertIf first."); in convertIf()
527 if (TBB != Tail) in convertIf()
529 if (FBB != Tail) in convertIf()
533 bool ExtraPreds = Tail->pred_size() != 2; in convertIf()
542 if (TBB != Tail) in convertIf()
543 TBB->removeSuccessor(Tail, true); in convertIf()
544 if (FBB != Tail) in convertIf()
545 FBB->removeSuccessor(Tail, true); in convertIf()
554 if (TBB != Tail) { in convertIf()
558 if (FBB != Tail) { in convertIf()
564 if (!ExtraPreds && Head->isLayoutSuccessor(Tail)) { in convertIf()
566 DEBUG(dbgs() << "Joining tail BB#" << Tail->getNumber() in convertIf()
568 Head->splice(Head->end(), Tail, in convertIf()
569 Tail->begin(), Tail->end()); in convertIf()
570 Head->transferSuccessorsAndUpdatePHIs(Tail); in convertIf()
571 RemovedBlocks.push_back(Tail); in convertIf()
572 Tail->eraseFromParent(); in convertIf()
577 TII->InsertBranch(*Head, Tail, nullptr, EmptyCond, HeadDL); in convertIf()
578 Head->addSuccessor(Tail); in convertIf()
648 assert(Node->getBlock() == IfConv.Tail && "Unexpected children"); in updateDomTree()
669 Traces->invalidate(IfConv.Tail); in invalidateTraces()
706 if (IfConv.TBB != IfConv.Tail) in shouldConvertIf()
726 MachineTraceMetrics::Trace TailTrace = MinInstr->getTrace(IfConv.Tail); in shouldConvertIf()