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

References

lib/CodeGen/TailDuplicator.cpp
  801   LLVM_DEBUG(dbgs() << "\n*** Tail-duplicating " << printMBBReference(*TailBB)
  805   getRegsUsedByPHIs(*TailBB, &UsedByPhi);
  808     return duplicateSimpleBB(TailBB, TDBBs, UsedByPhi, Copies);
  814   SmallSetVector<MachineBasicBlock *, 8> Preds(TailBB->pred_begin(),
  815                                                TailBB->pred_end());
  817     assert(TailBB != PredBB &&
  820     if (!canTailDuplicate(TailBB, PredBB))
  827     else if (PredBB->isLayoutSuccessor(TailBB) && PredBB->canFallThrough())
  833                       << "From Succ: " << *TailBB);
  843     for (MachineBasicBlock::iterator I = TailBB->begin(), E = TailBB->end();
  843     for (MachineBasicBlock::iterator I = TailBB->begin(), E = TailBB->end();
  850         processPHI(MI, TailBB, PredBB, LocalVRMap, CopyInfos, UsedByPhi, true);
  854         duplicateInstruction(MI, TailBB, PredBB, LocalVRMap, UsedByPhi);
  859     NumTailDupAdded += TailBB->size() - 1; // subtract one for removed branch
  865     for (MachineBasicBlock *Succ : TailBB->successors())
  866       PredBB->addSuccessor(Succ, MBPI->getEdgeProbability(TailBB, Succ));
  877     PrevBB = &*std::prev(TailBB->getIterator());
  884       *PrevBB->succ_begin() == TailBB &&
  887       (!PriorTBB || PriorTBB == TailBB) &&
  888       TailBB->pred_size() == 1 &&
  889       !TailBB->hasAddressTaken()) {
  891                       << "From MBB: " << *TailBB);
  899       MachineBasicBlock::iterator I = TailBB->begin();
  901       while (I != TailBB->end() && I->isPHI()) {
  905         processPHI(MI, TailBB, PrevBB, LocalVRMap, CopyInfos, UsedByPhi, true);
  909       while (I != TailBB->end()) {
  914         duplicateInstruction(MI, TailBB, PrevBB, LocalVRMap, UsedByPhi);
  921       PrevBB->splice(PrevBB->end(), TailBB, TailBB->begin(), TailBB->end());
  921       PrevBB->splice(PrevBB->end(), TailBB, TailBB->begin(), TailBB->end());
  921       PrevBB->splice(PrevBB->end(), TailBB, TailBB->begin(), TailBB->end());
  925     PrevBB->transferSuccessors(TailBB);
  962     MachineBasicBlock::iterator I = TailBB->begin();
  964     while (I != TailBB->end() && I->isPHI()) {
  968       processPHI(MI, TailBB, PredBB, LocalVRMap, CopyInfos, UsedByPhi, false);