Lines Matching defs:Tail
86 // | / | Tail |
88 // Tail | | |
93 // contains compare + br.cond. Tail must be a successor of both.
109 // b.eq Tail
112 // b.eq Tail
114 // Tail:
122 // b.eq Tail
124 // Tail:
131 // between Head and Tail, just like if-converting a diamond.
133 // FIXME: Handle PHIs in Tail by turning them into selects (if-conversion).
152 MachineBasicBlock *Tail;
167 /// The condition code that makes CmpBB branch to Tail.
170 /// Check if the Tail PHIs are trivially convertible.
173 /// Remove CmpBB from the Tail PHIs.
212 // Check that all PHIs in Tail are selecting the same value from Head and CmpBB.
215 for (auto &I : *Tail) {
238 // Assuming that trivialTailPHIs() is true, update the Tail PHIs by simply
241 for (auto &I : *Tail) {
438 Tail = CmpBB = nullptr;
445 // CmpBB can only have a single predecessor. Tail is allowed many.
454 Tail = Succ1;
456 if (!CmpBB->isSuccessor(Tail))
462 << printMBBReference(*Tail) << '\n');
465 // Tail is allowed to have many predecessors, but we can't handle PHIs yet.
472 LLVM_DEBUG(dbgs() << "Can't handle phis in Tail.\n");
477 if (!Tail->livein_empty()) {
478 LLVM_DEBUG(dbgs() << "Can't handle live-in physregs in Tail.\n");
523 assert(TBB == Tail && "Unexpected TBB");
548 if (TBB != Tail)
553 << ", CmpBB->Tail on "
576 // Save successor probabilties before removing CmpBB and Tail from their
579 BranchProbability CmpBB2Tail = MBPI->getEdgeProbability(CmpBB, Tail);
582 CmpBB->removeSuccessor(Tail);
589 // successor is Tail. We need to increase the successor probability for
590 // Tail to account for the CmpBB path we removed.
592 // Pr(Tail|Head) += Pr(CmpBB|Head) * Pr(Tail|CmpBB).
593 assert(*Head->succ_begin() == Tail && "Head successor is not Tail");
594 BranchProbability Head2Tail = MBPI->getEdgeProbability(Head, Tail);
684 // would have branched to Tail. These flags should cause the new Head