reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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);