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

References

lib/Target/Hexagon/HexagonEarlyIfConv.cpp
  860   MachineBasicBlock::iterator OldTI = FP.SplitB->getFirstTerminator();
  861   assert(OldTI != FP.SplitB->end());
  864   if (FP.TrueB) {
  865     TSB = *FP.TrueB->succ_begin();
  866     predicateBlockNB(FP.SplitB, OldTI, FP.TrueB, FP.PredR, true);
  866     predicateBlockNB(FP.SplitB, OldTI, FP.TrueB, FP.PredR, true);
  866     predicateBlockNB(FP.SplitB, OldTI, FP.TrueB, FP.PredR, true);
  868   if (FP.FalseB) {
  869     FSB = *FP.FalseB->succ_begin();
  870     MachineBasicBlock::iterator At = FP.SplitB->getFirstTerminator();
  871     predicateBlockNB(FP.SplitB, At, FP.FalseB, FP.PredR, false);
  871     predicateBlockNB(FP.SplitB, At, FP.FalseB, FP.PredR, false);
  871     predicateBlockNB(FP.SplitB, At, FP.FalseB, FP.PredR, false);
  878   FP.SplitB->erase(OldTI, FP.SplitB->end());
  878   FP.SplitB->erase(OldTI, FP.SplitB->end());
  879   while (FP.SplitB->succ_size() > 0) {
  880     MachineBasicBlock *T = *FP.SplitB->succ_begin();
  895     if (T != FP.TrueB && T != FP.FalseB) {
  895     if (T != FP.TrueB && T != FP.FalseB) {
  899     FP.SplitB->removeSuccessor(FP.SplitB->succ_begin());
  899     FP.SplitB->removeSuccessor(FP.SplitB->succ_begin());
  906   if (FP.JoinB) {
  907     assert(!SSB || SSB == FP.JoinB);
  908     BuildMI(*FP.SplitB, FP.SplitB->end(), DL, HII->get(Hexagon::J2_jump))
  908     BuildMI(*FP.SplitB, FP.SplitB->end(), DL, HII->get(Hexagon::J2_jump))
  909       .addMBB(FP.JoinB);
  910     FP.SplitB->addSuccessor(FP.JoinB);
  910     FP.SplitB->addSuccessor(FP.JoinB);
  914       BuildMI(*FP.SplitB, FP.SplitB->end(), DL, HII->get(Hexagon::J2_jumpt))
  914       BuildMI(*FP.SplitB, FP.SplitB->end(), DL, HII->get(Hexagon::J2_jumpt))
  915         .addReg(FP.PredR)
  917       FP.SplitB->addSuccessor(TSB);
  923       MachineInstrBuilder MIB = BuildMI(*FP.SplitB, FP.SplitB->end(), DL, D);
  923       MachineInstrBuilder MIB = BuildMI(*FP.SplitB, FP.SplitB->end(), DL, D);
  925         MIB.addReg(FP.PredR);
  927       FP.SplitB->addSuccessor(FSB);
  934       BuildMI(*FP.SplitB, FP.SplitB->end(), DL, HII->get(Hexagon::J2_jump))
  934       BuildMI(*FP.SplitB, FP.SplitB->end(), DL, HII->get(Hexagon::J2_jump))
  936       FP.SplitB->addSuccessor(SSB);
  942   if (FP.JoinB) {
  943     updatePhiNodes(FP.JoinB, FP);
  943     updatePhiNodes(FP.JoinB, FP);
  946       updatePhiNodes(TSB, FP);
  948       updatePhiNodes(FSB, FP);