Lines Matching defs:TBB
71 // | [TF]BB FBB TBB
76 // Instructions in the conditional blocks TBB and/or FBB are spliced into the
93 MachineBasicBlock *TBB;
98 /// isTriangle - When there is no 'else' block, either TBB or FBB will be
100 bool isTriangle() const { return TBB == Tail || FBB == Tail; }
103 MachineBasicBlock *getTPred() const { return TBB == Tail ? Head : TBB; }
135 /// Insertion point in Head for speculatively executed instructions form TBB
341 TBB = FBB = Tail = 0;
388 if (TII->AnalyzeBranch(*Head, TBB, FBB, Cond)) {
394 if (!TBB) {
401 FBB = TBB == Succ0 ? Succ1 : Succ0;
432 if (TBB != Tail && !canSpeculateInstrs(TBB))
508 assert(Head && Tail && TBB && FBB && "Call canConvertIf first.");
517 if (TBB != Tail)
518 Head->splice(InsertionPoint, TBB, TBB->begin(), TBB->getFirstTerminator());
530 Head->removeSuccessor(TBB);
532 if (TBB != Tail)
533 TBB->removeSuccessor(Tail);
544 if (TBB != Tail) {
545 RemovedBlocks.push_back(TBB);
546 TBB->eraseFromParent();
630 // convertIf can remove TBB, FBB, and Tail can be merged into Head.
631 // TBB and FBB should not dominate any blocks.
660 Traces->invalidate(IfConv.TBB);
685 DEBUG(dbgs() << "TBB: " << TBBTrace << "FBB: " << FBBTrace);
696 if (IfConv.TBB != IfConv.Tail)
697 ExtraBlocks.push_back(IfConv.TBB);
708 // TBB / FBB data dependencies may delay the select even more.
734 // The TBB value is pulled into the critical path.
738 DEBUG(dbgs() << "TBB data adds " << Extra << " cycles.\n");