Lines Matching refs:successor
419 // Splits the edge between `block` and `successor` while preserving the
420 // indices in the predecessor/successor lists. If there are multiple edges
422 // Returns the new block which is empty and has the same dex pc as `successor`.
423 HBasicBlock* SplitEdge(HBasicBlock* block, HBasicBlock* successor);
425 void SplitCriticalEdge(HBasicBlock* block, HBasicBlock* successor);
1077 // Insert `this` between `predecessor` and `successor. This method
1079 // `predecessor` and `successor`.
1080 void InsertBetween(HBasicBlock* predecessor, HBasicBlock* successor) {
1081 size_t predecessor_index = successor->GetPredecessorIndexOf(predecessor);
1082 size_t successor_index = predecessor->GetSuccessorIndexOf(successor);
1083 successor->predecessors_[predecessor_index] = this;
1085 successors_.push_back(successor);
1120 size_t GetSuccessorIndexOf(HBasicBlock* successor) const {
1121 return IndexOfElement(successors_, successor);
3122 // Normal-flow successor is stored at index zero, exception handlers under
3139 // Returns the block's non-exceptional successor (index zero).
3150 return GetBlock()->HasSuccessor(&handler, 1u /* Skip first successor. */);
3371 // have one successor for each entry in the switch table, and the final successor