reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
101 bool isTriangle() const { return TBB == Tail || FBB == Tail; } 101 bool isTriangle() const { return TBB == Tail || FBB == Tail; } 104 MachineBasicBlock *getTPred() const { return TBB == Tail ? Head : TBB; } 107 MachineBasicBlock *getFPred() const { return FBB == Tail ? Head : FBB; } 433 TBB = FBB = Tail = nullptr; 447 Tail = Succ0->succ_begin()[0]; 450 if (Tail != Succ1) { 453 Succ1->succ_begin()[0] != Tail) 458 << printMBBReference(*Tail) << '\n'); 461 if (!Tail->livein_empty()) { 468 << printMBBReference(*Tail) << '\n'); 474 if (!Predicate && (Tail->empty() || !Tail->front().isPHI())) { 474 if (!Predicate && (Tail->empty() || !Tail->front().isPHI())) { 507 for (MachineBasicBlock::iterator I = Tail->begin(), E = Tail->end(); 507 for (MachineBasicBlock::iterator I = Tail->begin(), E = Tail->end(); 533 if (TBB != Tail && !canPredicateInstrs(TBB)) 535 if (FBB != Tail && !canPredicateInstrs(FBB)) 538 if (TBB != Tail && !canSpeculateInstrs(TBB)) 540 if (FBB != Tail && !canSpeculateInstrs(FBB)) 560 assert(Tail->pred_size() == 2 && "Cannot replace PHIs"); 625 assert(Head && Tail && TBB && FBB && "Call canConvertIf first."); 634 if (TBB != Tail) { 639 if (FBB != Tail) { 645 bool ExtraPreds = Tail->pred_size() != 2; 654 if (TBB != Tail) 655 TBB->removeSuccessor(Tail, true); 656 if (FBB != Tail) 657 FBB->removeSuccessor(Tail, true); 666 if (TBB != Tail) { 670 if (FBB != Tail) { 676 if (!ExtraPreds && Head->isLayoutSuccessor(Tail)) { 678 LLVM_DEBUG(dbgs() << "Joining tail " << printMBBReference(*Tail) 680 Head->splice(Head->end(), Tail, 681 Tail->begin(), Tail->end()); 681 Tail->begin(), Tail->end()); 682 Head->transferSuccessorsAndUpdatePHIs(Tail); 683 RemovedBlocks.push_back(Tail); 684 Tail->eraseFromParent(); 689 TII->insertBranch(*Head, Tail, nullptr, EmptyCond, HeadDL); 690 Head->addSuccessor(Tail); 759 assert(Node->getBlock() == IfConv.Tail && "Unexpected children"); 782 Traces->invalidate(IfConv.Tail); 819 if (IfConv.TBB != IfConv.Tail) 839 MachineTraceMetrics::Trace TailTrace = MinInstr->getTrace(IfConv.Tail); 983 (IfConv.TBB == IfConv.Tail) ? *IfConv.FBB : *IfConv.TBB;