/art/compiler/optimizing/ |
D | dead_code_elimination.cc | 105 HBasicBlock* successor = block->GetSuccessors().Get(0); in RemoveDeadBlocks() local 106 if (successor->IsExitBlock() || successor->GetPredecessors().Size() != 1u) { in RemoveDeadBlocks() 110 block->MergeWith(successor); in RemoveDeadBlocks()
|
D | nodes.cc | 89 HBasicBlock* successor = block->GetSuccessors().Get(i); in VisitBlockForBackEdges() local 90 if (visiting->IsBitSet(successor->GetBlockId())) { in VisitBlockForBackEdges() 91 successor->AddBackEdge(block); in VisitBlockForBackEdges() 93 VisitBlockForBackEdges(successor, visited, visiting); in VisitBlockForBackEdges() 191 void HGraph::SplitCriticalEdge(HBasicBlock* block, HBasicBlock* successor) { in SplitCriticalEdge() argument 194 HBasicBlock* new_block = new (arena_) HBasicBlock(this, successor->GetDexPc()); in SplitCriticalEdge() 199 new_block->InsertBetween(block, successor); in SplitCriticalEdge() 200 if (successor->IsLoopHeader()) { in SplitCriticalEdge() 202 HLoopInformation* info = successor->GetLoopInformation(); in SplitCriticalEdge() 267 HBasicBlock* successor = block->GetSuccessors().Get(j); in SimplifyCFG() local [all …]
|
D | ssa_liveness_analysis.cc | 93 HBasicBlock* successor = current->GetSuccessors().Get(i); in LinearizeGraph() local 94 int block_id = successor->GetBlockId(); in LinearizeGraph() 97 AddToListForLinearization(&worklist, successor); in LinearizeGraph() 189 HBasicBlock* successor = block->GetSuccessors().Get(i); in ComputeLiveRanges() local 190 live_in->Union(GetLiveInSet(*successor)); in ComputeLiveRanges() 191 size_t phi_input_index = successor->GetPredecessorIndexOf(block); in ComputeLiveRanges() 192 for (HInstructionIterator inst_it(successor->GetPhis()); !inst_it.Done(); inst_it.Advance()) { in ComputeLiveRanges() 300 HBasicBlock* successor = block.GetSuccessors().Get(i); in UpdateLiveOut() local 301 if (live_out->Union(GetLiveInSet(*successor))) { in UpdateLiveOut()
|
D | bounds_check_elimination.cc | 1166 HBasicBlock* successor, ValueRange* range) { in ApplyRangeFromComparison() argument 1170 GetValueRangeMap(successor)->Overwrite(instruction->GetId(), range); in ApplyRangeFromComparison() 1183 GetValueRangeMap(successor)->Overwrite(instruction->GetId(), narrowed_range); in ApplyRangeFromComparison() 1208 HBasicBlock* successor = nullptr; in HandleIfBetweenTwoMonotonicValueRanges() local 1214 successor = instruction->IfTrueSuccessor(); in HandleIfBetweenTwoMonotonicValueRanges() 1216 successor = instruction->IfTrueSuccessor(); in HandleIfBetweenTwoMonotonicValueRanges() 1218 successor = instruction->IfFalseSuccessor(); in HandleIfBetweenTwoMonotonicValueRanges() 1222 successor = instruction->IfFalseSuccessor(); in HandleIfBetweenTwoMonotonicValueRanges() 1229 if (successor != nullptr) { in HandleIfBetweenTwoMonotonicValueRanges() 1237 ApplyRangeFromComparison(left, instruction->GetBlock(), successor, in HandleIfBetweenTwoMonotonicValueRanges() [all …]
|
D | graph_visualizer.cc | 122 HBasicBlock* successor = block->GetSuccessors().Get(i); in PrintSuccessors() local 123 output_ << " \"B" << successor->GetBlockId() << "\" "; in PrintSuccessors()
|
D | graph_checker.cc | 288 HBasicBlock* successor = block->GetSuccessors().Get(j); in VisitBasicBlock() local 289 if (successor->GetPredecessors().Size() > 1) { in VisitBasicBlock() 292 successor->GetBlockId())); in VisitBasicBlock()
|
D | code_generator_arm64.cc | 264 HBasicBlock* successor) in SuspendCheckSlowPathARM64() argument 265 : instruction_(instruction), successor_(successor) {} in SuspendCheckSlowPathARM64() 1038 HBasicBlock* successor) { in GenerateSuspendCheck() argument 1042 slow_path = new (GetGraph()->GetArena()) SuspendCheckSlowPathARM64(instruction, successor); in GenerateSuspendCheck() 1045 if (successor != nullptr) { in GenerateSuspendCheck() 1046 DCHECK(successor->IsLoopHeader()); in GenerateSuspendCheck() 1050 DCHECK_EQ(slow_path->GetSuccessor(), successor); in GenerateSuspendCheck() 1057 if (successor == nullptr) { in GenerateSuspendCheck() 1061 __ Cbz(temp, codegen_->GetLabelOf(successor)); in GenerateSuspendCheck() 1718 HBasicBlock* successor = got->GetSuccessor(); in VisitGoto() local [all …]
|
D | code_generator_mips64.cc | 278 HBasicBlock* successor) in SuspendCheckSlowPathMIPS64() argument 279 : instruction_(instruction), successor_(successor) {} in SuspendCheckSlowPathMIPS64() 984 HBasicBlock* successor) { in GenerateSuspendCheck() argument 986 new (GetGraph()->GetArena()) SuspendCheckSlowPathMIPS64(instruction, successor); in GenerateSuspendCheck() 993 if (successor == nullptr) { in GenerateSuspendCheck() 997 __ Beqzc(TMP, codegen_->GetLabelOf(successor)); in GenerateSuspendCheck() 1931 HBasicBlock* successor = got->GetSuccessor(); in VisitGoto() local 1932 DCHECK(!successor->IsExitBlock()); in VisitGoto() 1939 GenerateSuspendCheck(info->GetSuspendCheck(), successor); in VisitGoto() 1945 if (!codegen_->GoesToNextBlock(block, successor)) { in VisitGoto() [all …]
|
D | code_generator_arm.cc | 93 SuspendCheckSlowPathARM(HSuspendCheck* instruction, HBasicBlock* successor) in SuspendCheckSlowPathARM() argument 94 : instruction_(instruction), successor_(successor) {} in SuspendCheckSlowPathARM() 907 HBasicBlock* successor = got->GetSuccessor(); in VisitGoto() local 908 DCHECK(!successor->IsExitBlock()); in VisitGoto() 916 GenerateSuspendCheck(info->GetSuspendCheck(), successor); in VisitGoto() 923 if (!codegen_->GoesToNextBlock(got->GetBlock(), successor)) { in VisitGoto() 924 __ b(codegen_->GetLabelOf(successor)); in VisitGoto() 3541 HBasicBlock* successor) { in GenerateSuspendCheck() argument 3545 slow_path = new (GetGraph()->GetArena()) SuspendCheckSlowPathARM(instruction, successor); in GenerateSuspendCheck() 3548 if (successor != nullptr) { in GenerateSuspendCheck() [all …]
|
D | code_generator_arm.h | 176 void GenerateSuspendCheck(HSuspendCheck* check, HBasicBlock* successor);
|
D | code_generator_mips64.h | 187 void GenerateSuspendCheck(HSuspendCheck* check, HBasicBlock* successor);
|
D | code_generator_x86.h | 159 void GenerateSuspendCheck(HSuspendCheck* check, HBasicBlock* successor);
|
D | code_generator_x86_64.h | 169 void GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor);
|
D | code_generator_x86.cc | 134 SuspendCheckSlowPathX86(HSuspendCheck* instruction, HBasicBlock* successor) in SuspendCheckSlowPathX86() argument 135 : instruction_(instruction), successor_(successor) {} in SuspendCheckSlowPathX86() 808 HBasicBlock* successor = got->GetSuccessor(); in VisitGoto() local 809 DCHECK(!successor->IsExitBlock()); in VisitGoto() 816 GenerateSuspendCheck(info->GetSuspendCheck(), successor); in VisitGoto() 823 if (!codegen_->GoesToNextBlock(got->GetBlock(), successor)) { in VisitGoto() 824 __ jmp(codegen_->GetLabelOf(successor)); in VisitGoto() 4002 HBasicBlock* successor) { in GenerateSuspendCheck() argument 4006 slow_path = new (GetGraph()->GetArena()) SuspendCheckSlowPathX86(instruction, successor); in GenerateSuspendCheck() 4009 if (successor != nullptr) { in GenerateSuspendCheck() [all …]
|
D | code_generator_x86_64.cc | 117 explicit SuspendCheckSlowPathX86_64(HSuspendCheck* instruction, HBasicBlock* successor) in SuspendCheckSlowPathX86_64() argument 118 : instruction_(instruction), successor_(successor) {} in SuspendCheckSlowPathX86_64() 771 HBasicBlock* successor = got->GetSuccessor(); in VisitGoto() local 772 DCHECK(!successor->IsExitBlock()); in VisitGoto() 779 GenerateSuspendCheck(info->GetSuspendCheck(), successor); in VisitGoto() 786 if (!codegen_->GoesToNextBlock(got->GetBlock(), successor)) { in VisitGoto() 787 __ jmp(codegen_->GetLabelOf(successor)); in VisitGoto() 3869 HBasicBlock* successor) { in GenerateSuspendCheck() argument 3873 slow_path = new (GetGraph()->GetArena()) SuspendCheckSlowPathX86_64(instruction, successor); in GenerateSuspendCheck() 3876 if (successor != nullptr) { in GenerateSuspendCheck() [all …]
|
D | nodes.h | 195 void SplitCriticalEdge(HBasicBlock* block, HBasicBlock* successor); 590 void InsertBetween(HBasicBlock* predecessor, HBasicBlock* successor) { in InsertBetween() argument 591 size_t predecessor_index = successor->GetPredecessorIndexOf(predecessor); in InsertBetween() 593 size_t successor_index = predecessor->GetSuccessorIndexOf(successor); in InsertBetween() 595 successor->predecessors_.Put(predecessor_index, this); in InsertBetween() 597 successors_.Add(successor); in InsertBetween() 641 size_t GetSuccessorIndexOf(HBasicBlock* successor) { in GetSuccessorIndexOf() argument 643 if (successors_.Get(i) == successor) { in GetSuccessorIndexOf()
|
D | code_generator_arm64.h | 157 void GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor);
|
/art/test/473-remove-dead-block/ |
D | info.txt | 2 Removing from predecessors require remove successor otherwise
|
/art/compiler/dex/ |
D | mir_graph.cc | 2070 BasicBlock* successor = succIter.Next(); in ComputeTopologicalSortOrder() local 2071 for ( ; successor != nullptr; successor = succIter.Next()) { in ComputeTopologicalSortOrder() 2072 if (successor->hidden) { in ComputeTopologicalSortOrder() 2077 visited_cnt_values[successor->id] += 1u; in ComputeTopologicalSortOrder() 2078 if (visited_cnt_values[successor->id] == successor->predecessors.size()) { in ComputeTopologicalSortOrder() 2080 loop_head_reachable_from[loop_head_stack.back()]->IsBitSet(successor->id)) { in ComputeTopologicalSortOrder() 2081 q.push(successor); in ComputeTopologicalSortOrder() 2083 DCHECK(!loop_exit_blocks.IsBitSet(successor->id)); in ComputeTopologicalSortOrder() 2084 loop_exit_blocks.SetBit(successor->id); in ComputeTopologicalSortOrder()
|