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

References

lib/CodeGen/MachineLoopUtils.cpp
   30   MachineFunction &MF = *Loop->getParent();
   31   MachineBasicBlock *Preheader = *Loop->pred_begin();
   32   if (Preheader == Loop)
   33     Preheader = *std::next(Loop->pred_begin());
   34   MachineBasicBlock *Exit = *Loop->succ_begin();
   35   if (Exit == Loop)
   36     Exit = *std::next(Loop->succ_begin());
   38   MachineBasicBlock *NewBB = MF.CreateMachineBasicBlock(Loop->getBasicBlock());
   40     MF.insert(Loop->getIterator(), NewBB);
   42     MF.insert(std::next(Loop->getIterator()), NewBB);
   47   for (MachineInstr &MI : *Loop) {
   64           if (Use.getParent()->getParent() != Loop)
   84     MachineInstr &OrigPhi = findEquivalentInstruction(MI, Loop);
  107     Preheader->replaceSuccessor(Loop, NewBB);
  108     NewBB->addSuccessor(Loop);
  109     Loop->replacePhiUsesWith(Preheader, NewBB);
  113     TII->insertBranch(*NewBB, Loop, nullptr, {}, DL);
  115     Loop->replaceSuccessor(Exit, NewBB);
  116     Exit->replacePhiUsesWith(Loop, NewBB);
  121     bool CanAnalyzeBr = !TII->analyzeBranch(*Loop, TBB, FBB, Cond);
  124     TII->removeBranch(*Loop);
  125     TII->insertBranch(*Loop, TBB == Exit ? NewBB : TBB,