reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/IfConversion.cpp
  291       const MachineFunction &MF = *TBBInfo.BB->getParent();
  293         MachineBasicBlock::iterator TIB = TBBInfo.BB->begin();
  294         MachineBasicBlock::iterator FIB = FBBInfo.BB->begin();
  295         MachineBasicBlock::iterator TIE = TBBInfo.BB->end();
  296         MachineBasicBlock::iterator FIE = FBBInfo.BB->end();
  300                                          *TBBInfo.BB, *FBBInfo.BB,
  300                                          *TBBInfo.BB, *FBBInfo.BB,
  308         for (auto &I : make_range(TBBInfo.BB->begin(), TIB)) {
  312         for (auto &I : make_range(FBBInfo.BB->begin(), FIB)) {
  321         for (auto &I : make_range(TIE, TBBInfo.BB->end())) {
  330         for (auto &I : make_range(FIE, FBBInfo.BB->end())) {
  387                        *TBBInfo.BB, TCycle, TBBInfo.ExtraCost2, *FBBInfo.BB,
  387                        *TBBInfo.BB, TCycle, TBBInfo.ExtraCost2, *FBBInfo.BB,
  420             return C1->BBI.BB->getNumber() < C2->BBI.BB->getNumber();
  420             return C1->BBI.BB->getNumber() < C2->BBI.BB->getNumber();
  511                           << "): " << printMBBReference(*BBI.BB) << " ("
  538         LLVM_DEBUG(dbgs() << "): " << printMBBReference(*BBI.BB)
  556         LLVM_DEBUG(dbgs() << "Ifcvt (Diamond): " << printMBBReference(*BBI.BB)
  568                           << printMBBReference(*BBI.BB)
  580         recomputeLivenessFlags(*BBI.BB);
  625     TII->removeBranch(*BBI.BB);
  626     TII->insertBranch(*BBI.BB, BBI.FalseBB, BBI.TrueBB, BBI.BrCond, dl);
  655   if (TrueBBI.BB->pred_size() > 1) {
  657         !TII->isProfitableToDupForIfCvt(*TrueBBI.BB, TrueBBI.NonPredSize,
  675   if (TrueBBI.BB == FalseBBI.BB)
  675   if (TrueBBI.BB == FalseBBI.BB)
  681   if (TrueBBI.BB->pred_size() > 1) {
  698     if (!TII->isProfitableToDupForIfCvt(*TrueBBI.BB, Size, Prediction))
  705     MachineFunction::iterator I = TrueBBI.BB->getIterator();
  706     if (++I == TrueBBI.BB->getParent()->end())
  710   return TExit && TExit == FalseBBI.BB;
  889   if  (TrueBBI.BB->pred_size() > 1 || FalseBBI.BB->pred_size() > 1)
  889   if  (TrueBBI.BB->pred_size() > 1 || FalseBBI.BB->pred_size() > 1)
  904     TT = getNextBlock(*TrueBBI.BB);
  906     TF = getNextBlock(*TrueBBI.BB);
  908     FT = getNextBlock(*FalseBBI.BB);
  910     FF = getNextBlock(*FalseBBI.BB);
  933   MachineBasicBlock::iterator TIB = TrueBBI.BB->begin();
  934   MachineBasicBlock::iterator FIB = FalseBBI.BB->begin();
  935   MachineBasicBlock::iterator TIE = TrueBBI.BB->end();
  936   MachineBasicBlock::iterator FIE = FalseBBI.BB->end();
  938                                   *TrueBBI.BB, *FalseBBI.BB,
  938                                   *TrueBBI.BB, *FalseBBI.BB,
  942   TrueBBICalc.BB = TrueBBI.BB;
  942   TrueBBICalc.BB = TrueBBI.BB;
  943   FalseBBICalc.BB = FalseBBI.BB;
  943   FalseBBICalc.BB = FalseBBI.BB;
  972     TT = getNextBlock(*TrueBBI.BB);
  974     FT = getNextBlock(*FalseBBI.BB);
  979   if  (TrueBBI.BB->pred_size() > 1 || FalseBBI.BB->pred_size() > 1)
  979   if  (TrueBBI.BB->pred_size() > 1 || FalseBBI.BB->pred_size() > 1)
  992   MachineBasicBlock::iterator TIB = TrueBBI.BB->begin();
  993   MachineBasicBlock::iterator FIB = FalseBBI.BB->begin();
  994   MachineBasicBlock::iterator TIE = TrueBBI.BB->end();
  995   MachineBasicBlock::iterator FIE = FalseBBI.BB->end();
  997                                   *TrueBBI.BB, *FalseBBI.BB,
  997                                   *TrueBBI.BB, *FalseBBI.BB,
 1001   TrueBBICalc.BB = TrueBBI.BB;
 1001   TrueBBICalc.BB = TrueBBI.BB;
 1002   FalseBBICalc.BB = FalseBBI.BB;
 1002   FalseBBICalc.BB = FalseBBI.BB;
 1024       !TII->analyzeBranch(*BBI.BB, BBI.TrueBB, BBI.FalseBB, BBI.BrCond);
 1040       BBI.FalseBB = findFalseBlock(BBI.BB, BBI.TrueBB);
 1228       BBI.BB = BB;
 1232       MachineBasicBlock::iterator Begin = BBI.BB->begin();
 1233       MachineBasicBlock::iterator End = BBI.BB->end();
 1288     BranchProbability Prediction = MBPI->getEdgeProbability(BB, TrueBBI.BB);
 1342         MeetIfcvtSizeLimit(*TrueBBI.BB, TrueBBI.NonPredSize + TrueBBI.ExtraCost,
 1358         MeetIfcvtSizeLimit(*TrueBBI.BB, TrueBBI.NonPredSize + TrueBBI.ExtraCost,
 1367         MeetIfcvtSizeLimit(*TrueBBI.BB, TrueBBI.NonPredSize + TrueBBI.ExtraCost,
 1386           MeetIfcvtSizeLimit(*FalseBBI.BB,
 1397           MeetIfcvtSizeLimit(*FalseBBI.BB,
 1407           MeetIfcvtSizeLimit(*FalseBBI.BB,
 1457     if (PBBI.IsDone || PBBI.BB == &MBB)
 1537   MachineBasicBlock &CvtMBB = *CvtBBI->BB;
 1538   MachineBasicBlock &NextMBB = *NextBBI->BB;
 1566   BBI.NonPredSize -= TII->removeBranch(*BBI.BB);
 1574     BBI.BB->removeSuccessor(&CvtMBB, true);
 1585   if (!canFallThroughTo(*BBI.BB, NextMBB)) {
 1586     InsertUncondBranch(*BBI.BB, NextMBB, TII);
 1604   InvalidatePreds(*BBI.BB);
 1623   MachineBasicBlock &CvtMBB = *CvtBBI->BB;
 1624   MachineBasicBlock &NextMBB = *NextBBI->BB;
 1646         if (PBB == BBI.BB)
 1672     BBNext = MBPI->getEdgeProbability(BBI.BB, &NextMBB);
 1673     BBCvt = MBPI->getEdgeProbability(BBI.BB, &CvtMBB);
 1678   BBI.NonPredSize -= TII->removeBranch(*BBI.BB);
 1694   BBI.BB->removeSuccessor(&CvtMBB, true);
 1709     auto NewTrueBB = getNextBlock(*BBI.BB);
 1711     auto NewTrueBBIter = find(BBI.BB->successors(), NewTrueBB);
 1712     if (NewTrueBBIter != BBI.BB->succ_end())
 1713       BBI.BB->setSuccProbability(NewTrueBBIter, NewNext);
 1716     TII->insertBranch(*BBI.BB, CvtBBI->FalseBB, nullptr, RevCond, dl);
 1717     BBI.BB->addSuccessor(CvtBBI->FalseBB, NewFalse);
 1724   bool isFallThrough = canFallThroughTo(*BBI.BB, NextMBB);
 1735       InsertUncondBranch(*BBI.BB, NextMBB, TII);
 1746   InvalidatePreds(*BBI.BB);
 1773       TrueBBI.BB->pred_size() > 1 || FalseBBI.BB->pred_size() > 1) {
 1773       TrueBBI.BB->pred_size() > 1 || FalseBBI.BB->pred_size() > 1) {
 1781   if (TrueBBI.BB->hasAddressTaken() || FalseBBI.BB->hasAddressTaken())
 1781   if (TrueBBI.BB->hasAddressTaken() || FalseBBI.BB->hasAddressTaken())
 1811   BBI.NonPredSize -= TII->removeBranch(*BBI.BB);
 1813   MachineBasicBlock &MBB1 = *BBI1->BB;
 1814   MachineBasicBlock &MBB2 = *BBI2->BB;
 1864   BBI.BB->splice(BBI.BB->end(), &MBB1, MBB1.begin(), DI1);
 1864   BBI.BB->splice(BBI.BB->end(), &MBB1, MBB1.begin(), DI1);
 1905   DI2 = BBI2->BB->end();
 1909     BBI2->NonPredSize -= TII->removeBranch(*BBI2->BB);
 2011   MachineBasicBlock::iterator TIE = TrueBBI.BB->getFirstTerminator();
 2012   if (TIE != TrueBBI.BB->end())
 2026   TII->insertBranch(*BBI.BB, TrueBBI.TrueBB, TrueBBI.FalseBB,
 2031   InvalidatePreds(*BBI.BB);
 2067     BBI.BB->removeSuccessor(TrueBBI.BB);
 2067     BBI.BB->removeSuccessor(TrueBBI.BB);
 2068     BBI.BB->removeSuccessor(FalseBBI.BB, true);
 2068     BBI.BB->removeSuccessor(FalseBBI.BB, true);
 2072       !TailBBI.BB->hasAddressTaken();
 2076     MachineBasicBlock::const_iterator TI = BBI.BB->getFirstTerminator();
 2077     if (TI != BBI.BB->end() && TII->isPredicated(*TI))
 2086       if (*PI != TrueBBI.BB && *PI != FalseBBI.BB)
 2086       if (*PI != TrueBBI.BB && *PI != FalseBBI.BB)
 2093       BBI.BB->addSuccessor(TailBB, BranchProbability::getOne());
 2094       InsertUncondBranch(*BBI.BB, *TailBB, TII);
 2101   InvalidatePreds(*BBI.BB);
 2134   for (MachineInstr &I : make_range(BBI.BB->begin(), E)) {
 2174   MachineFunction &MF = *ToBBI.BB->getParent();
 2176   MachineBasicBlock &FromMBB = *FromBBI.BB;
 2187     ToBBI.BB->insert(ToBBI.BB->end(), MI);
 2187     ToBBI.BB->insert(ToBBI.BB->end(), MI);
 2219       ToBBI.BB->addSuccessor(Succ);
 2238   MachineBasicBlock &FromMBB = *FromBBI.BB;
 2245   MachineBasicBlock::iterator ToTI = ToBBI.BB->getFirstTerminator();
 2246   ToBBI.BB->splice(ToTI, &FromMBB, FromMBB.begin(), FromTI);
 2250     ToTI = ToBBI.BB->end();
 2251   ToBBI.BB->splice(ToTI, &FromMBB, FromTI, FromMBB.end());
 2258     ToBBI.BB->normalizeSuccProbs();
 2267   if (AddEdges && ToBBI.BB->isSuccessor(&FromMBB)) {
 2270     To2FromProb = MBPI->getEdgeProbability(ToBBI.BB, &FromMBB);
 2271     ToBBI.BB->removeSuccessor(&FromMBB);
 2321       if (ToBBI.BB->isSuccessor(Succ))
 2322         ToBBI.BB->setSuccProbability(
 2323             find(ToBBI.BB->successors(), Succ),
 2324             MBPI->getEdgeProbability(ToBBI.BB, Succ) + NewProb);
 2326         ToBBI.BB->addSuccessor(Succ, NewProb);
 2339     ToBBI.BB->normalizeSuccProbs();