reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
55 MachineBasicBlock::iterator I = ReturnMBB.begin(); 56 I = ReturnMBB.SkipPHIsLabelsAndDebug(I); 59 if (I == ReturnMBB.end() || 61 I != ReturnMBB.getLastNonDebugInstr()) 65 for (MachineBasicBlock::pred_iterator PI = ReturnMBB.pred_begin(), 66 PIE = ReturnMBB.pred_end(); PI != PIE; ++PI) { 77 if (J->getOperand(0).getMBB() == &ReturnMBB) { 89 if (J->getOperand(2).getMBB() == &ReturnMBB) { 103 if (J->getOperand(1).getMBB() == &ReturnMBB) { 119 if (ReturnMBB.hasAddressTaken()) 124 J->getOperand(i).getMBB() == &ReturnMBB) 135 if ((*PI)->canFallThrough() && (*PI)->isLayoutSuccessor(&ReturnMBB)) 148 PredToRemove[i]->removeSuccessor(&ReturnMBB, true); 150 if (Changed && !ReturnMBB.hasAddressTaken()) { 153 if (ReturnMBB.pred_size() == 1) { 154 MachineBasicBlock &PrevMBB = **ReturnMBB.pred_begin(); 155 if (PrevMBB.isLayoutSuccessor(&ReturnMBB) && PrevMBB.canFallThrough()) { 157 PrevMBB.splice(PrevMBB.end(), &ReturnMBB, I); 158 PrevMBB.removeSuccessor(&ReturnMBB, true); 162 if (ReturnMBB.pred_empty()) 163 ReturnMBB.eraseFromParent();