Home
last modified time | relevance | path

Searched refs:HBasicBlock (Results 26 – 50 of 102) sorted by relevance

12345

/art/compiler/optimizing/
Dselect_generator.cc35 static bool IsSimpleBlock(HBasicBlock* block) { in IsSimpleBlock()
68 static bool BlocksMergeTogether(HBasicBlock* block1, HBasicBlock* block2) { in BlocksMergeTogether()
74 static HPhi* GetSingleChangedPhi(HBasicBlock* block, size_t index1, size_t index2) { in GetSingleChangedPhi()
102 for (HBasicBlock* block : graph_->GetPostOrder()) { in Run()
107 HBasicBlock* true_block = if_instruction->IfTrueSuccessor(); in Run()
108 HBasicBlock* false_block = if_instruction->IfFalseSuccessor(); in Run()
116 HBasicBlock* merge_block = true_block->GetSingleSuccessor(); in Run()
Dssa_liveness_analysis_test.cc39 entry_ = new (GetAllocator()) HBasicBlock(graph_); in SetUp()
45 HBasicBlock* CreateSuccessor(HBasicBlock* block) { in CreateSuccessor()
47 HBasicBlock* successor = new (GetAllocator()) HBasicBlock(graph); in CreateSuccessor()
56 HBasicBlock* entry_;
64 HBasicBlock* block = CreateSuccessor(entry_); in TEST_F()
95 HBasicBlock* block = CreateSuccessor(entry_); in TEST_F()
164 HBasicBlock* block = CreateSuccessor(entry_); in TEST_F()
Dregister_allocator_test.cc339 HBasicBlock* loop_header = graph->GetBlocks()[2]; in Loop3()
348 HBasicBlock* return_block = graph->GetBlocks()[3]; in Loop3()
492 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph); in BuildIfElseWithPhi()
499 HBasicBlock* block = new (GetAllocator()) HBasicBlock(graph); in BuildIfElseWithPhi()
514 HBasicBlock* then = new (GetAllocator()) HBasicBlock(graph); in BuildIfElseWithPhi()
515 HBasicBlock* else_ = new (GetAllocator()) HBasicBlock(graph); in BuildIfElseWithPhi()
516 HBasicBlock* join = new (GetAllocator()) HBasicBlock(graph); in BuildIfElseWithPhi()
642 HBasicBlock* entry = new (GetAllocator()) HBasicBlock(graph); in BuildFieldReturn()
649 HBasicBlock* block = new (GetAllocator()) HBasicBlock(graph); in BuildFieldReturn()
666 HBasicBlock* exit = new (GetAllocator()) HBasicBlock(graph); in BuildFieldReturn()
[all …]
Dcode_sinking.cc29 HBasicBlock* exit = graph_->GetExitBlock(); in Run()
36 for (HBasicBlock* exit_predecessor : exit->GetPredecessors()) { in Run()
144 static void AddInputs(HBasicBlock* block, in AddInputs()
187 HBasicBlock* block = user->GetBlock(); in FindIdealPosition()
203 HBasicBlock* target_block = finder.Get(); in FindIdealPosition()
256 void CodeSinking::SinkCodeToUncommonBranch(HBasicBlock* end_block) { in SinkCodeToUncommonBranch()
277 for (HBasicBlock* block : graph_->GetPostOrder()) { in SinkCodeToUncommonBranch()
287 for (HBasicBlock* successor : block->GetSuccessors()) { in SinkCodeToUncommonBranch()
311 HBasicBlock* common_dominator = finder.Get(); in SinkCodeToUncommonBranch()
Dloop_analysis.cc32 HBasicBlock* block = block_it.Current(); in CalculateLoopBasicProperties()
35 for (HBasicBlock* successor : block->GetSuccessors()) { in CalculateLoopBasicProperties()
153 uint32_t GetSIMDUnrollingFactor(HBasicBlock* block, in GetSIMDUnrollingFactor()
306 uint32_t GetUnrollingFactor(HLoopInformation* loop_info, HBasicBlock* header) const;
309 uint32_t GetSIMDUnrollingFactor(HBasicBlock* block, in GetSIMDUnrollingFactor()
316 HBasicBlock* header = loop_info->GetHeader(); in GetSIMDUnrollingFactor()
351 HBasicBlock* header) const { in GetUnrollingFactor()
354 HBasicBlock* block = it.Current(); in GetUnrollingFactor()
Dload_store_elimination_test.cc115 std::tuple<HBasicBlock*, HBasicBlock*, HBasicBlock*, HBasicBlock*> CreateDiamondShapedCFG() { in CreateDiamondShapedCFG()
119 HBasicBlock* upper = AddNewBlock(); in CreateDiamondShapedCFG()
120 HBasicBlock* left = AddNewBlock(); in CreateDiamondShapedCFG()
121 HBasicBlock* right = AddNewBlock(); in CreateDiamondShapedCFG()
143 HInstruction* AddVecLoad(HBasicBlock* block, HInstruction* array, HInstruction* index) { in AddVecLoad()
164 HInstruction* AddVecStore(HBasicBlock* block, in AddVecStore()
196 HInstruction* AddArrayGet(HBasicBlock* block, HInstruction* array, HInstruction* index) { in AddArrayGet()
209 HInstruction* AddArraySet(HBasicBlock* block, in AddArraySet()
247 HBasicBlock* pre_header_;
248 HBasicBlock* loop_;
[all …]
Dselect_generator_test.cc38 HBasicBlock* if_block = AddNewBlock(); in ConstructBasicGraphForSelect()
39 HBasicBlock* then_block = AddNewBlock(); in ConstructBasicGraphForSelect()
40 HBasicBlock* else_block = AddNewBlock(); in ConstructBasicGraphForSelect()
Dside_effects_analysis.h36 SideEffects GetLoopEffects(HBasicBlock* block) const;
37 SideEffects GetBlockEffects(HBasicBlock* block) const;
Doptimizing_unit_test.h77 for (HBasicBlock* block : graph->GetBlocks()) { in RemoveSuspendChecks()
207 HBasicBlock* AddNewBlock() { in AddNewBlock()
208 HBasicBlock* block = new (GetAllocator()) HBasicBlock(graph_); in AddNewBlock()
262 HBasicBlock* entry_block_;
263 HBasicBlock* return_block_;
264 HBasicBlock* exit_block_;
Dgraph_checker.cc51 static bool IsExitTryBoundaryIntoExitBlock(HBasicBlock* block) { in IsExitTryBoundaryIntoExitBlock()
86 void GraphChecker::VisitBasicBlock(HBasicBlock* block) { in VisitBasicBlock()
95 ScopedArenaVector<HBasicBlock*> sorted_predecessors(allocator.Adapter(kArenaAllocGraphChecker)); in VisitBasicBlock()
99 HBasicBlock* p = *it++; in VisitBasicBlock()
118 ScopedArenaVector<HBasicBlock*> sorted_successors(allocator.Adapter(kArenaAllocGraphChecker)); in VisitBasicBlock()
122 HBasicBlock* s = *it++; in VisitBasicBlock()
150 for (HBasicBlock* predecessor : block->GetPredecessors()) { in VisitBasicBlock()
198 for (HBasicBlock* successor : block->GetNormalSuccessors()) { in VisitBasicBlock()
205 for (HBasicBlock* successor : block->GetExceptionalSuccessors()) { in VisitBasicBlock()
214 for (HBasicBlock* dominated : block->GetDominatedBlocks()) { in VisitBasicBlock()
[all …]
Dlicm.cc23 static bool IsPhiOf(HInstruction* instruction, HBasicBlock* block) { in IsPhiOf()
95 for (HBasicBlock* block : graph_->GetPostOrder()) { in Run()
103 HBasicBlock* pre_header = loop_info->GetPreHeader(); in Run()
106 HBasicBlock* inner = it_loop.Current(); in Run()
Dbounds_check_elimination.cc386 HBasicBlock* GetLoopHeader() const { in GetLoopHeader()
506 bool IsAddedBlock(HBasicBlock* block) const { in IsAddedBlock()
533 void VisitBasicBlock(HBasicBlock* block) override { in VisitBasicBlock()
571 ScopedArenaSafeMap<int, ValueRange*>* GetValueRangeMap(HBasicBlock* basic_block) { in GetValueRangeMap()
580 ValueRange* LookupValueRange(HInstruction* instruction, HBasicBlock* basic_block) { in LookupValueRange()
597 void AssignRange(HBasicBlock* basic_block, HInstruction* instruction, ValueRange* range) { in AssignRange()
604 void ApplyRangeFromComparison(HInstruction* instruction, HBasicBlock* basic_block, in ApplyRangeFromComparison()
605 HBasicBlock* successor, ValueRange* range) { in ApplyRangeFromComparison()
646 HBasicBlock* successor = nullptr; in HandleIfBetweenTwoMonotonicValueRanges()
693 HBasicBlock* block = instruction->GetBlock(); in HandleIf()
[all …]
Dssa_liveness_analysis.cc48 for (HBasicBlock* block : graph_->GetLinearOrder()) { in NumberInstructions()
90 for (HBasicBlock* block : graph_->GetLinearOrder()) { in ComputeLiveness()
171 for (HBasicBlock* block : ReverseRange(graph_->GetLinearOrder())) { in ComputeLiveRanges()
177 for (HBasicBlock* successor : block->GetSuccessors()) { in ComputeLiveRanges()
277 for (const HBasicBlock* block : graph_->GetPostOrder()) { in ComputeLiveInAndLiveOutSets()
291 bool SsaLivenessAnalysis::UpdateLiveOut(const HBasicBlock& block) { in UpdateLiveOut()
295 for (HBasicBlock* successor : block.GetSuccessors()) { in UpdateLiveOut()
304 bool SsaLivenessAnalysis::UpdateLiveIn(const HBasicBlock& block) { in UpdateLiveIn()
359 HBasicBlock* block = liveness.GetBlockFromPosition(GetStart() / 2); in FindFirstRegisterHint()
361 for (HBasicBlock* predecessor : block->GetPredecessors()) { in FindFirstRegisterHint()
[all …]
Dgraph_checker.h52 void VisitBasicBlock(HBasicBlock* block) override;
85 void HandleLoop(HBasicBlock* loop_header);
121 HBasicBlock* current_block_ = nullptr;
Dsuspend_check_test.cc38 HBasicBlock* first_block = graph->GetEntryBlock()->GetSingleSuccessor(); in TestCode()
39 HBasicBlock* loop_header = first_block->GetSingleSuccessor(); in TestCode()
Dinduction_var_analysis_test.cc53 loop_preheader_[d] = new (GetAllocator()) HBasicBlock(graph_); in BuildForLoop()
55 loop_header_[d] = new (GetAllocator()) HBasicBlock(graph_); in BuildForLoop()
61 loop_body_[d] = new (GetAllocator()) HBasicBlock(graph_); in BuildForLoop()
80 entry_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoopNest()
83 return_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoopNest()
85 exit_ = new (GetAllocator()) HBasicBlock(graph_); in BuildLoopNest()
125 HPhi* BuildIf(int d, HBasicBlock** ifT, HBasicBlock** ifF) { in BuildIf()
126 HBasicBlock* cond = new (GetAllocator()) HBasicBlock(graph_); in BuildIf()
127 HBasicBlock* ifTrue = new (GetAllocator()) HBasicBlock(graph_); in BuildIf()
128 HBasicBlock* ifFalse = new (GetAllocator()) HBasicBlock(graph_); in BuildIf()
[all …]
Dregister_allocator.cc60 for (HBasicBlock* block : codegen_->GetGraph()->GetLinearOrder()) { in ~RegisterAllocator()
232 HBasicBlock* block_from = liveness_.GetBlockFromPosition(from / 2); in SplitBetween()
233 HBasicBlock* block_to = liveness_.GetBlockFromPosition(to / 2); in SplitBetween()
264 for (HBasicBlock* dominated : block_from->GetDominator()->GetDominatedBlocks()) { in SplitBetween()
278 HBasicBlock* header = it.Current()->GetHeader(); in SplitBetween()
Dinstruction_builder.h79 HBasicBlock* FindBlockStartingAt(uint32_t dex_pc) const;
81 ScopedArenaVector<HInstruction*>* GetLocalsFor(HBasicBlock* block);
85 HBasicBlock* block, ScopedArenaVector<HInstruction*>* locals, const size_t vregs);
86 HInstruction* ValueOfLocalAt(HBasicBlock* block, size_t local);
331 HBasicBlock* current_block_;
340 ScopedArenaVector<HBasicBlock*> loop_headers_;
Dfind_loops_test.cc39 for (HBasicBlock* block : graph->GetBlocks()) { in TEST_F()
50 for (HBasicBlock* block : graph->GetBlocks()) { in TEST_F()
64 for (HBasicBlock* block : graph->GetBlocks()) { in TEST_F()
79 for (HBasicBlock* block : graph->GetBlocks()) { in TEST_F()
92 for (HBasicBlock* block : graph->GetBlocks()) { in TEST_F()
103 HBasicBlock* block = graph->GetBlocks()[block_id]; in TestBlock()
Dnodes.h56 class HBasicBlock; variable
169 void SetBlockOfInstructions(HBasicBlock* block) const;
182 friend class HBasicBlock; variable
428 const ArenaVector<HBasicBlock*>& GetBlocks() const { return blocks_; } in GetBlocks()
433 HBasicBlock* GetEntryBlock() const { return entry_block_; } in GetEntryBlock()
434 HBasicBlock* GetExitBlock() const { return exit_block_; } in GetExitBlock()
437 void SetEntryBlock(HBasicBlock* block) { entry_block_ = block; } in SetEntryBlock()
438 void SetExitBlock(HBasicBlock* block) { exit_block_ = block; } in SetExitBlock()
440 void AddBlock(HBasicBlock* block);
468 void UpdateLoopAndTryInformationOfNewBlock(HBasicBlock* block,
[all …]
Dcode_sinking.h43 void SinkCodeToUncommonBranch(HBasicBlock* end_block);
Ddead_code_elimination.h40 void MaybeRecordDeadBlock(HBasicBlock* block);
Dconstant_folding.cc29 void VisitBasicBlock(HBasicBlock* block) override;
82 void HConstantFoldingVisitor::VisitBasicBlock(HBasicBlock* block) { in VisitBasicBlock()
312 HBasicBlock* block = instruction->GetBlock(); in VisitRem()
356 HBasicBlock* block = instruction->GetBlock(); in VisitSub()
385 HBasicBlock* block = instruction->GetBlock(); in VisitXor()
Dreference_type_propagation.cc80 void VisitBasicBlock(HBasicBlock* block) override;
87 void BoundTypeForIfNotNull(HBasicBlock* block);
88 static void BoundTypeForIfInstanceOf(HBasicBlock* block);
132 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in ValidateTypes()
178 HBasicBlock* dominator_block) in ShouldCreateBoundType()
215 HBasicBlock* start_block, in BoundTypeIn()
311 HBasicBlock* trueBlock = compare->IsEqual() in BoundTypeForClassCheck()
329 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in Run()
338 void ReferenceTypePropagation::RTPVisitor::VisitBasicBlock(HBasicBlock* block) { in VisitBasicBlock()
357 void ReferenceTypePropagation::RTPVisitor::BoundTypeForIfNotNull(HBasicBlock* block) { in BoundTypeForIfNotNull()
[all …]
Dssa_phi_elimination.cc46 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in MarkDeadPhis()
95 for (HBasicBlock* block : graph_->GetPostOrder()) { in EliminateDeadPhis()
136 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in Run()

12345