Lines Matching refs:Tail
93 MachineBasicBlock *Tail; member in __anonae2cbf7d0111::SSAIfConv
103 bool isTriangle() const { return TBB == Tail || FBB == Tail; } in isTriangle()
106 MachineBasicBlock *getTPred() const { return TBB == Tail ? Head : TBB; } in getTPred()
109 MachineBasicBlock *getFPred() const { return FBB == Tail ? Head : FBB; } in getFPred()
437 TBB = FBB = Tail = nullptr; in canConvertIf()
451 Tail = Succ0->succ_begin()[0]; in canConvertIf()
454 if (Tail != Succ1) { in canConvertIf()
457 Succ1->succ_begin()[0] != Tail) in canConvertIf()
462 << printMBBReference(*Tail) << '\n'); in canConvertIf()
465 if (!Tail->livein_empty()) { in canConvertIf()
472 << printMBBReference(*Tail) << '\n'); in canConvertIf()
478 if (!Predicate && (Tail->empty() || !Tail->front().isPHI())) { in canConvertIf()
511 for (MachineBasicBlock::iterator I = Tail->begin(), E = Tail->end(); in canConvertIf()
538 if (TBB != Tail && !canPredicateInstrs(TBB)) in canConvertIf()
540 if (FBB != Tail && !canPredicateInstrs(FBB)) in canConvertIf()
543 if (TBB != Tail && !canSpeculateInstrs(TBB)) in canConvertIf()
545 if (FBB != Tail && !canSpeculateInstrs(FBB)) in canConvertIf()
565 assert(Tail->pred_size() == 2 && "Cannot replace PHIs"); in replacePHIInstrs()
630 assert(Head && Tail && TBB && FBB && "Call canConvertIf first."); in convertIf()
639 if (TBB != Tail) { in convertIf()
644 if (FBB != Tail) { in convertIf()
650 bool ExtraPreds = Tail->pred_size() != 2; in convertIf()
659 if (TBB != Tail) in convertIf()
660 TBB->removeSuccessor(Tail, true); in convertIf()
661 if (FBB != Tail) in convertIf()
662 FBB->removeSuccessor(Tail, true); in convertIf()
671 if (TBB != Tail) { in convertIf()
675 if (FBB != Tail) { in convertIf()
681 if (!ExtraPreds && Head->isLayoutSuccessor(Tail)) { in convertIf()
683 LLVM_DEBUG(dbgs() << "Joining tail " << printMBBReference(*Tail) in convertIf()
685 Head->splice(Head->end(), Tail, in convertIf()
686 Tail->begin(), Tail->end()); in convertIf()
687 Head->transferSuccessorsAndUpdatePHIs(Tail); in convertIf()
688 RemovedBlocks.push_back(Tail); in convertIf()
689 Tail->eraseFromParent(); in convertIf()
694 TII->insertBranch(*Head, Tail, nullptr, EmptyCond, HeadDL); in convertIf()
695 Head->addSuccessor(Tail); in convertIf()
764 assert(Node->getBlock() == IfConv.Tail && "Unexpected children"); in updateDomTree()
787 Traces->invalidate(IfConv.Tail); in invalidateTraces()
838 if (IfConv.TBB != IfConv.Tail) in shouldConvertIf()
869 MachineTraceMetrics::Trace TailTrace = MinInstr->getTrace(IfConv.Tail); in shouldConvertIf()
1079 (IfConv.TBB == IfConv.Tail) ? *IfConv.FBB : *IfConv.TBB; in shouldConvertIf()