Home
last modified time | relevance | path

Searched refs:successor (Results 1 – 25 of 26) sorted by relevance

12

/art/compiler/optimizing/
Dlinear_order.cc119 for (HBasicBlock* successor : current->GetSuccessors()) { in LinearizeGraphInternal()
120 int block_id = successor->GetBlockId(); in LinearizeGraphInternal()
123 AddToListForLinearization(&worklist, successor); in LinearizeGraphInternal()
Ddead_code_elimination.cc80 for (HBasicBlock* successor : live_successors) { in MarkReachableBlocks()
82 if (!visited->IsBitSet(successor->GetBlockId())) { in MarkReachableBlocks()
83 visited->SetBit(successor->GetBlockId()); in MarkReachableBlocks()
84 worklist.push_back(successor); in MarkReachableBlocks()
433 HBasicBlock* successor = block->GetSingleSuccessor(); in ConnectSuccessiveBlocks() local
434 if (successor->IsExitBlock() || successor->GetPredecessors().size() != 1u) { in ConnectSuccessiveBlocks()
437 DCHECK_LT(i, IndexOfElement(graph_->GetReversePostOrder(), successor)); in ConnectSuccessiveBlocks()
438 block->MergeWith(successor); in ConnectSuccessiveBlocks()
Dgraph_checker.cc197 for (HBasicBlock* successor : block->GetNormalSuccessors()) { in VisitBasicBlock()
198 if (successor->IsCatchBlock()) { in VisitBasicBlock()
200 successor->GetBlockId(), in VisitBasicBlock()
204 for (HBasicBlock* successor : block->GetExceptionalSuccessors()) { in VisitBasicBlock()
205 if (!successor->IsCatchBlock()) { in VisitBasicBlock()
207 successor->GetBlockId(), in VisitBasicBlock()
229 for (HBasicBlock* successor : block->GetNormalSuccessors()) { in VisitBasicBlock()
230 if (successor->GetPredecessors().size() > 1) { in VisitBasicBlock()
233 successor->GetBlockId())); in VisitBasicBlock()
562 HBasicBlock* successor = ret->GetBlock()->GetSingleSuccessor(); in VisitReturn() local
[all …]
Dssa_liveness_analysis_test.cc46 HBasicBlock* successor = new (GetAllocator()) HBasicBlock(graph); in CreateSuccessor() local
47 graph->AddBlock(successor); in CreateSuccessor()
48 block->AddSuccessor(successor); in CreateSuccessor()
49 return successor; in CreateSuccessor()
Dssa_liveness_analysis.cc177 for (HBasicBlock* successor : block->GetSuccessors()) { in ComputeLiveRanges()
178 live_in->Union(GetLiveInSet(*successor)); in ComputeLiveRanges()
179 if (successor->IsCatchBlock()) { in ComputeLiveRanges()
189 size_t phi_input_index = successor->GetPredecessorIndexOf(block); in ComputeLiveRanges()
190 for (HInstructionIterator phi_it(successor->GetPhis()); !phi_it.Done(); phi_it.Advance()) { in ComputeLiveRanges()
295 for (HBasicBlock* successor : block.GetSuccessors()) { in UpdateLiveOut()
296 if (live_out->Union(GetLiveInSet(*successor))) { in UpdateLiveOut()
Dblock_builder.cc382 HBasicBlock* successor = try_block->GetSuccessors()[i]; in InsertTryBoundaryBlocks() local
387 if (GetTryItem(successor, try_block_info) != nullptr) { in InsertTryBoundaryBlocks()
388 DCHECK_EQ(try_item, GetTryItem(successor, try_block_info)); in InsertTryBoundaryBlocks()
394 new (allocator_) HTryBoundary(HTryBoundary::BoundaryKind::kExit, successor->GetDexPc()); in InsertTryBoundaryBlocks()
395 graph_->SplitEdge(try_block, successor)->AddInstruction(try_exit); in InsertTryBoundaryBlocks()
Dloop_analysis.cc35 for (HBasicBlock* successor : block->GetSuccessors()) { in CalculateLoopBasicProperties()
36 if (!loop_info->Contains(*successor)) { in CalculateLoopBasicProperties()
Dloop_optimization_test.cc62 HBasicBlock* AddLoop(HBasicBlock* position, HBasicBlock* successor) { in AddLoop() argument
68 position->ReplaceSuccessor(successor, header); in AddLoop()
70 header->AddSuccessor(successor); in AddLoop()
Dbounds_check_elimination.cc605 HBasicBlock* successor, ValueRange* range) { in ApplyRangeFromComparison() argument
609 AssignRange(successor, instruction, range); in ApplyRangeFromComparison()
621 AssignRange(successor, instruction, existing_range->Narrow(range)); in ApplyRangeFromComparison()
646 HBasicBlock* successor = nullptr; in HandleIfBetweenTwoMonotonicValueRanges() local
652 successor = instruction->IfTrueSuccessor(); in HandleIfBetweenTwoMonotonicValueRanges()
654 successor = instruction->IfTrueSuccessor(); in HandleIfBetweenTwoMonotonicValueRanges()
656 successor = instruction->IfFalseSuccessor(); in HandleIfBetweenTwoMonotonicValueRanges()
660 successor = instruction->IfFalseSuccessor(); in HandleIfBetweenTwoMonotonicValueRanges()
667 if (successor != nullptr) { in HandleIfBetweenTwoMonotonicValueRanges()
675 ApplyRangeFromComparison(left, instruction->GetBlock(), successor, in HandleIfBetweenTwoMonotonicValueRanges()
[all …]
Dcode_sinking.cc287 for (HBasicBlock* successor : block->GetSuccessors()) { in SinkCodeToUncommonBranch()
288 if (!post_dominated.IsBitSet(successor->GetBlockId())) { in SinkCodeToUncommonBranch()
Dsuperblock_cloner.cc266 HBasicBlock* successor = current->GetSuccessors()[successors_visited[current_id]++]; in FindBackEdgesLocal() local
267 uint32_t successor_id = successor->GetBlockId(); in FindBackEdgesLocal()
273 DCHECK(ContainsElement(worklist, successor)); in FindBackEdgesLocal()
274 successor->AddBackEdgeWhileUpdating(current); in FindBackEdgesLocal()
278 worklist.push_back(successor); in FindBackEdgesLocal()
Dgvn.cc518 for (const HBasicBlock* successor : block->GetSuccessors()) { in WillBeReferencedAgain() local
519 if (!visited_blocks_.IsBitSet(successor->GetBlockId())) { in WillBeReferencedAgain()
Dsuperblock_cloner_test.cc36 HBasicBlock* successor, in CreateBasicLoopControlFlow() argument
47 position->ReplaceSuccessor(successor, loop_preheader); in CreateBasicLoopControlFlow()
51 loop_header->AddSuccessor(successor); in CreateBasicLoopControlFlow()
Dcode_generator_x86_64.h211 void GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor);
288 void HandleGoto(HInstruction* got, HBasicBlock* successor);
Dcode_generator_mips.h239 void GenerateSuspendCheck(HSuspendCheck* check, HBasicBlock* successor);
345 void HandleGoto(HInstruction* got, HBasicBlock* successor);
Dcode_generator_mips64.h237 void GenerateSuspendCheck(HSuspendCheck* check, HBasicBlock* successor);
330 void HandleGoto(HInstruction* got, HBasicBlock* successor);
Dcode_generator_x86.h214 void GenerateSuspendCheck(HSuspendCheck* check, HBasicBlock* successor);
302 void HandleGoto(HInstruction* got, HBasicBlock* successor);
Dgraph_visualizer.cc264 for (HBasicBlock* successor : block->GetNormalSuccessors()) { in PrintSuccessors()
265 output_ << " \"B" << successor->GetBlockId() << "\" "; in PrintSuccessors()
Dcode_generator_mips64.cc311 SuspendCheckSlowPathMIPS64(HSuspendCheck* instruction, HBasicBlock* successor) in SuspendCheckSlowPathMIPS64() argument
312 : SlowPathCodeMIPS64(instruction), successor_(successor) {} in SuspendCheckSlowPathMIPS64()
1913 HBasicBlock* successor) { in GenerateSuspendCheck() argument
1919 new (codegen_->GetScopedAllocator()) SuspendCheckSlowPathMIPS64(instruction, successor); in GenerateSuspendCheck()
1922 if (successor != nullptr) { in GenerateSuspendCheck()
1923 DCHECK(successor->IsLoopHeader()); in GenerateSuspendCheck()
1926 DCHECK_EQ(slow_path->GetSuccessor(), successor); in GenerateSuspendCheck()
1933 if (successor == nullptr) { in GenerateSuspendCheck()
1937 __ Beqzc(TMP, codegen_->GetLabelOf(successor)); in GenerateSuspendCheck()
3688 void InstructionCodeGeneratorMIPS64::HandleGoto(HInstruction* got, HBasicBlock* successor) { in HandleGoto() argument
[all …]
Dcode_generator_arm64.h284 void GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor);
341 void HandleGoto(HInstruction* got, HBasicBlock* successor);
Dcode_generator_arm_vixl.h327 void GenerateSuspendCheck(HSuspendCheck* instruction, HBasicBlock* successor);
409 void HandleGoto(HInstruction* got, HBasicBlock* successor);
Dcode_generator_arm_vixl.cc430 SuspendCheckSlowPathARMVIXL(HSuspendCheck* instruction, HBasicBlock* successor) in SuspendCheckSlowPathARMVIXL() argument
431 : SlowPathCodeARMVIXL(instruction), successor_(successor) {} in SuspendCheckSlowPathARMVIXL()
2406 void InstructionCodeGeneratorARMVIXL::HandleGoto(HInstruction* got, HBasicBlock* successor) { in HandleGoto() argument
2407 if (successor->IsExitBlock()) { in HandleGoto()
2427 GenerateSuspendCheck(info->GetSuspendCheck(), successor); in HandleGoto()
2434 if (!codegen_->GoesToNextBlock(block, successor)) { in HandleGoto()
2435 __ B(codegen_->GetLabelOf(successor)); in HandleGoto()
2452 HBasicBlock* successor = try_boundary->GetNormalFlowSuccessor(); in VisitTryBoundary() local
2453 if (!successor->IsExitBlock()) { in VisitTryBoundary()
2454 HandleGoto(try_boundary, successor); in VisitTryBoundary()
[all …]
Dcode_generator_mips.cc355 SuspendCheckSlowPathMIPS(HSuspendCheck* instruction, HBasicBlock* successor) in SuspendCheckSlowPathMIPS() argument
356 : SlowPathCodeMIPS(instruction), successor_(successor) {} in SuspendCheckSlowPathMIPS()
2067 HBasicBlock* successor) { in GenerateSuspendCheck() argument
2073 new (codegen_->GetScopedAllocator()) SuspendCheckSlowPathMIPS(instruction, successor); in GenerateSuspendCheck()
2076 if (successor != nullptr) { in GenerateSuspendCheck()
2077 DCHECK(successor->IsLoopHeader()); in GenerateSuspendCheck()
2080 DCHECK_EQ(slow_path->GetSuccessor(), successor); in GenerateSuspendCheck()
2087 if (successor == nullptr) { in GenerateSuspendCheck()
2091 __ Beqz(TMP, codegen_->GetLabelOf(successor)); in GenerateSuspendCheck()
4361 void InstructionCodeGeneratorMIPS::HandleGoto(HInstruction* got, HBasicBlock* successor) { in HandleGoto() argument
[all …]
Dloop_optimization.cc77 for (HBasicBlock* successor : it_loop.Current()->GetSuccessors()) { in IsEarlyExit()
78 if (!loop_info->Contains(*successor)) { in IsEarlyExit()
/art/test/473-remove-dead-block/
Dinfo.txt2 Removing from predecessors require remove successor otherwise

12