Searched refs:predecessor (Results 1 - 10 of 10) sorted by relevance
/art/compiler/optimizing/ |
H A D | graph_checker.cc | 106 for (HBasicBlock* predecessor : block->GetPredecessors()) { 107 HInstruction* last_instruction = IsExitTryBoundaryIntoExitBlock(predecessor) ? 108 predecessor->GetSinglePredecessor()->GetLastInstruction() : 109 predecessor->GetLastInstruction(); 212 for (HBasicBlock* predecessor : block->GetPredecessors()) { 213 const HTryBoundary* incoming_try_entry = predecessor->ComputeTryEntryOfSuccessors(); 218 "from predecessor %d.", 222 predecessor->GetBlockId())); 225 "with %s:%d that follows from predecessor %d.", 231 predecessor 597 HBasicBlock* predecessor = loop_header->GetPredecessors()[i]; local 767 HBasicBlock* predecessor = predecessors[i]; local [all...] |
H A D | nodes.cc | 314 // Use `InsertBetween` to ensure the predecessor index and successor index of 349 HBasicBlock* predecessor = header->GetPredecessors()[pred]; local 350 if (!info->IsBackEdge(*predecessor)) { 351 predecessor->ReplaceSuccessor(header, pre_header); 358 // Make sure the first predecessor of a loop header is the incoming block. 362 HBasicBlock* predecessor = header->GetPredecessors()[pred]; local 363 if (!info->IsBackEdge(*predecessor)) { 365 header->predecessors_[0] = predecessor; 389 // Infer try membership from the first predecessor. Having simplified loops, 390 // the first predecessor ca 1924 HBasicBlock* predecessor = GetPredecessors()[0]; local 2107 HBasicBlock* predecessor = to->GetPredecessors()[0]; local [all...] |
H A D | gvn.cc | 142 // Updates this set by intersecting with instructions in a predecessor's set. 143 void IntersectWith(ValueSet* predecessor) { argument 146 } else if (predecessor->IsEmpty()) { 151 DeleteAllImpureWhich([predecessor](Node* node) { 152 return !predecessor->Contains(node->GetInstruction()); 471 for (HBasicBlock* predecessor : predecessors) { 472 set->IntersectWith(FindSetFor(predecessor));
|
H A D | block_builder.cc | 216 for (HBasicBlock* predecessor : catch_block->GetPredecessors()) { 217 DCHECK(!predecessor->IsSingleTryBoundary()) 310 // least one predecessor is not covered by the same TryItem as the try block. 315 for (HBasicBlock* predecessor : try_block->GetPredecessors()) { 316 if (GetTryItem(predecessor, try_block_info) != entry.second) { 317 // Found a predecessor not covered by the same TryItem. Insert entering
|
H A D | ssa_liveness_analysis.cc | 237 // A phi input whose last user is the phi dies at the end of the predecessor block, 396 for (HBasicBlock* predecessor : block->GetPredecessors()) { 397 size_t position = predecessor->GetLifetimeEnd() - 1; 479 // If the input dies at the end of the predecessor, we know its register can
|
H A D | register_allocator.cc | 1945 for (HBasicBlock* predecessor : block->GetPredecessors()) { 1946 ConnectSplitSiblings(interval, predecessor, block); 1961 HBasicBlock* predecessor = current->GetPredecessors()[i]; local 1962 DCHECK_EQ(predecessor->GetNormalSuccessors().size(), 1u); 1965 predecessor->GetLifetimeEnd() - 1); 1967 InsertParallelMoveAtExitOf(predecessor, phi, source, destination);
|
H A D | graph_visualizer.cc | 257 for (HBasicBlock* predecessor : block->GetPredecessors()) { 258 output_ << " \"B" << predecessor->GetBlockId() << "\" ";
|
H A D | instruction_builder.cc | 125 for (HBasicBlock* predecessor : current_block_->GetPredecessors()) { 126 HInstruction* current = ValueOfLocalAt(predecessor, local); 136 // If one predecessor has no value for this local, we trust the verifier has 235 for (HBasicBlock* predecessor : block->GetPredecessors()) { 236 HInstruction* value = ValueOfLocalAt(predecessor, vreg); 238 // Vreg is undefined at this predecessor. Mark it dead and leave with
|
H A D | inliner.cc | 591 // Set up successor (and implictly predecessor) relations. 1154 // a throw predecessor. 1163 for (HBasicBlock* predecessor : exit_block->GetPredecessors()) { 1164 if (predecessor->GetLastInstruction()->IsThrow()) {
|
H A D | nodes.h | 376 // indices in the predecessor/successor lists. If there are multiple edges 931 // Insert `this` between `predecessor` and `successor. This method 933 // `predecessor` and `successor`. 934 void InsertBetween(HBasicBlock* predecessor, HBasicBlock* successor) { argument 935 size_t predecessor_index = successor->GetPredecessorIndexOf(predecessor); 936 size_t successor_index = predecessor->GetSuccessorIndexOf(successor); 938 predecessor->successors_[successor_index] = this; 940 predecessors_.push_back(predecessor); 970 size_t GetPredecessorIndexOf(HBasicBlock* predecessor) const { 971 return IndexOfElement(predecessors_, predecessor); 990 IsFirstIndexOfPredecessor(HBasicBlock* predecessor, size_t idx) const argument [all...] |
Completed in 138 milliseconds