/art/compiler/optimizing/ |
H A D | dead_code_elimination.cc | 105 HBasicBlock* successor = block->GetSuccessors().Get(0); local 106 if (successor->IsExitBlock() || successor->GetPredecessors().Size() != 1u) { 110 block->MergeWith(successor); 112 // Reiterate on this block in case it can be merged with its new successor.
|
H A D | graph_checker.cc | 288 HBasicBlock* successor = block->GetSuccessors().Get(j); local 289 if (successor->GetPredecessors().Size() > 1) { 292 successor->GetBlockId()));
|
H A D | graph_visualizer.cc | 122 HBasicBlock* successor = block->GetSuccessors().Get(i); local 123 output_ << " \"B" << successor->GetBlockId() << "\" ";
|
H A D | ssa_liveness_analysis.cc | 85 // successor block are visited, the successor block is added in the worklist 93 HBasicBlock* successor = current->GetSuccessors().Get(i); local 94 int block_id = successor->GetBlockId(); 97 AddToListForLinearization(&worklist, successor); 189 HBasicBlock* successor = block->GetSuccessors().Get(i); local 190 live_in->Union(GetLiveInSet(*successor)); 191 size_t phi_input_index = successor->GetPredecessorIndexOf(block); 192 for (HInstructionIterator inst_it(successor->GetPhis()); !inst_it.Done(); inst_it.Advance()) { 300 HBasicBlock* successor local [all...] |
H A D | nodes.cc | 69 // We only need to update the successor, which might be live. 89 HBasicBlock* successor = block->GetSuccessors().Get(i); local 90 if (visiting->IsBitSet(successor->GetBlockId())) { 91 successor->AddBackEdge(block); 93 VisitBlockForBackEdges(successor, visited, visiting); 191 void HGraph::SplitCriticalEdge(HBasicBlock* block, HBasicBlock* successor) { argument 192 // Insert a new node between `block` and `successor` to split the 194 HBasicBlock* new_block = new (arena_) HBasicBlock(this, successor->GetDexPc()); 197 // Use `InsertBetween` to ensure the predecessor index and successor index of 198 // `block` and `successor` ar 267 HBasicBlock* successor = block->GetSuccessors().Get(j); local 940 HBasicBlock* successor = GetSuccessors().Get(i); local 1057 HBasicBlock* successor = successors_.Get(i); local 1121 HBasicBlock* successor = other->successors_.Get(0); local 1160 HBasicBlock* successor = other->successors_.Get(0); local 1181 HBasicBlock* successor = GetSuccessors().Get(0); local [all...] |
H A D | bounds_check_elimination.cc | 800 HBasicBlock* dummy_block = if_block->GetSuccessors().Get(0); // True successor. 801 HBasicBlock* deopt_block = if_block->GetSuccessors().Get(1); // False successor. 1164 // and push the narrowed value range to `successor`. 1166 HBasicBlock* successor, ValueRange* range) { 1170 GetValueRangeMap(successor)->Overwrite(instruction->GetId(), range); 1183 GetValueRangeMap(successor)->Overwrite(instruction->GetId(), narrowed_range); 1208 HBasicBlock* successor = nullptr; local 1214 successor = instruction->IfTrueSuccessor(); 1216 successor = instruction->IfTrueSuccessor(); 1218 successor 1165 ApplyRangeFromComparison(HInstruction* instruction, HBasicBlock* basic_block, HBasicBlock* successor, ValueRange* range) argument [all...] |
H A D | code_generator_arm.cc | 93 SuspendCheckSlowPathARM(HSuspendCheck* instruction, HBasicBlock* successor) argument 94 : instruction_(instruction), successor_(successor) {} 907 HBasicBlock* successor = got->GetSuccessor(); local 908 DCHECK(!successor->IsExitBlock()); 916 GenerateSuspendCheck(info->GetSuspendCheck(), successor); 923 if (!codegen_->GoesToNextBlock(got->GetBlock(), successor)) { 924 __ b(codegen_->GetLabelOf(successor)); 3541 HBasicBlock* successor) { 3545 slow_path = new (GetGraph()->GetArena()) SuspendCheckSlowPathARM(instruction, successor); 3548 if (successor ! 3540 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument [all...] |
H A D | code_generator_arm64.cc | 264 HBasicBlock* successor) 265 : instruction_(instruction), successor_(successor) {} 1038 HBasicBlock* successor) { 1042 slow_path = new (GetGraph()->GetArena()) SuspendCheckSlowPathARM64(instruction, successor); 1045 if (successor != nullptr) { 1046 DCHECK(successor->IsLoopHeader()); 1050 DCHECK_EQ(slow_path->GetSuccessor(), successor); 1057 if (successor == nullptr) { 1061 __ Cbz(temp, codegen_->GetLabelOf(successor)); 1063 // slow_path will return to GetLabelOf(successor) 263 SuspendCheckSlowPathARM64(HSuspendCheck* instruction, HBasicBlock* successor) argument 1037 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument 1718 HBasicBlock* successor = got->GetSuccessor(); local [all...] |
H A D | code_generator_mips64.cc | 278 HBasicBlock* successor) 279 : instruction_(instruction), successor_(successor) {} 984 HBasicBlock* successor) { 986 new (GetGraph()->GetArena()) SuspendCheckSlowPathMIPS64(instruction, successor); 993 if (successor == nullptr) { 997 __ Beqzc(TMP, codegen_->GetLabelOf(successor)); 999 // slow_path will return to GetLabelOf(successor). 1931 HBasicBlock* successor = got->GetSuccessor(); local 1932 DCHECK(!successor->IsExitBlock()); 1939 GenerateSuspendCheck(info->GetSuspendCheck(), successor); 277 SuspendCheckSlowPathMIPS64(HSuspendCheck* instruction, HBasicBlock* successor) argument 983 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument [all...] |
H A D | code_generator_x86.cc | 134 SuspendCheckSlowPathX86(HSuspendCheck* instruction, HBasicBlock* successor) argument 135 : instruction_(instruction), successor_(successor) {} 808 HBasicBlock* successor = got->GetSuccessor(); local 809 DCHECK(!successor->IsExitBlock()); 816 GenerateSuspendCheck(info->GetSuspendCheck(), successor); 823 if (!codegen_->GoesToNextBlock(got->GetBlock(), successor)) { 824 __ jmp(codegen_->GetLabelOf(successor)); 4002 HBasicBlock* successor) { 4006 slow_path = new (GetGraph()->GetArena()) SuspendCheckSlowPathX86(instruction, successor); 4009 if (successor ! 4001 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument [all...] |
H A D | code_generator_x86_64.cc | 117 explicit SuspendCheckSlowPathX86_64(HSuspendCheck* instruction, HBasicBlock* successor) argument 118 : instruction_(instruction), successor_(successor) {} 771 HBasicBlock* successor = got->GetSuccessor(); local 772 DCHECK(!successor->IsExitBlock()); 779 GenerateSuspendCheck(info->GetSuspendCheck(), successor); 786 if (!codegen_->GoesToNextBlock(got->GetBlock(), successor)) { 787 __ jmp(codegen_->GetLabelOf(successor)); 3869 HBasicBlock* successor) { 3873 slow_path = new (GetGraph()->GetArena()) SuspendCheckSlowPathX86_64(instruction, successor); 3876 if (successor ! 3868 GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor) argument [all...] |
H A D | nodes.h | 195 void SplitCriticalEdge(HBasicBlock* block, HBasicBlock* successor); 587 // Insert `this` between `predecessor` and `successor. This method 589 // `predecessor` and `successor`. 590 void InsertBetween(HBasicBlock* predecessor, HBasicBlock* successor) { argument 591 size_t predecessor_index = successor->GetPredecessorIndexOf(predecessor); 593 size_t successor_index = predecessor->GetSuccessorIndexOf(successor); 595 successor->predecessors_.Put(predecessor_index, this); 597 successors_.Add(successor); 641 size_t GetSuccessorIndexOf(HBasicBlock* successor) { argument 643 if (successors_.Get(i) == successor) { [all...] |
/art/compiler/dex/ |
H A D | mir_graph.cc | 238 /* Handle the successor list */ 1062 // Link the successor pseudo-block with all of its potential targets. 2070 BasicBlock* successor = succIter.Next(); local 2071 for ( ; successor != nullptr; successor = succIter.Next()) { 2072 if (successor->hidden) { 2077 visited_cnt_values[successor->id] += 1u; 2078 if (visited_cnt_values[successor->id] == successor->predecessors.size()) { 2080 loop_head_reachable_from[loop_head_stack.back()]->IsBitSet(successor [all...] |