Lines Matching defs:TB
123 FlowPattern(MachineBasicBlock *B, unsigned PR, MachineBasicBlock *TB,
125 : SplitB(B), TrueB(TB), FalseB(FB), JoinB(JB), PredR(PR) {}
246 MachineBasicBlock *TB = nullptr, *FB = nullptr;
274 TB = T1B, FB = T2B;
276 TB = T2B, FB = T1B;
278 if (!MDT->properlyDominates(B, TB) || !MDT->properlyDominates(B, FB))
281 // Detect triangle first. In case of a triangle, one of the blocks TB/FB
285 assert(TB && FB && "Failed to find triangle control flow blocks");
286 unsigned TNP = TB->pred_size(), FNP = FB->pred_size();
287 unsigned TNS = TB->succ_size(), FNS = FB->succ_size();
294 bool TOk = (TNP == 1 && TNS == 1 && MLI->getLoopFor(TB) == L);
299 if (SkipExitBranches && MLI->getLoopFor(TB) != MLI->getLoopFor(FB))
306 MachineBasicBlock *TSB = (TNS > 0) ? *TB->succ_begin() : nullptr;
314 // Diamond: "if (P) then TB; else FB;".
323 if (FSB == TB)
324 JB = TB;
325 TB = nullptr;
328 if ((TB && isPreheader(TB)) || (FB && isPreheader(FB))) {
329 LLVM_DEBUG(dbgs() << "One of blocks " << PrintMB(TB) << ", " << PrintMB(FB)
334 FP = FlowPattern(B, PredR, TB, FB, JB);
739 MachineBasicBlock *TB = MI->getOperand(0).getMBB();
744 .addMBB(TB);