/art/compiler/optimizing/ |
D | select_generator.cc | 35 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()
|
D | ssa_liveness_analysis_test.cc | 39 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()
|
D | register_allocator_test.cc | 339 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 …]
|
D | code_sinking.cc | 29 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()
|
D | loop_analysis.cc | 32 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()
|
D | load_store_elimination_test.cc | 115 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 …]
|
D | select_generator_test.cc | 38 HBasicBlock* if_block = AddNewBlock(); in ConstructBasicGraphForSelect() 39 HBasicBlock* then_block = AddNewBlock(); in ConstructBasicGraphForSelect() 40 HBasicBlock* else_block = AddNewBlock(); in ConstructBasicGraphForSelect()
|
D | side_effects_analysis.h | 36 SideEffects GetLoopEffects(HBasicBlock* block) const; 37 SideEffects GetBlockEffects(HBasicBlock* block) const;
|
D | optimizing_unit_test.h | 77 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_;
|
D | graph_checker.cc | 51 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 …]
|
D | licm.cc | 23 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()
|
D | bounds_check_elimination.cc | 386 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 …]
|
D | ssa_liveness_analysis.cc | 48 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 …]
|
D | graph_checker.h | 52 void VisitBasicBlock(HBasicBlock* block) override; 85 void HandleLoop(HBasicBlock* loop_header); 121 HBasicBlock* current_block_ = nullptr;
|
D | suspend_check_test.cc | 38 HBasicBlock* first_block = graph->GetEntryBlock()->GetSingleSuccessor(); in TestCode() 39 HBasicBlock* loop_header = first_block->GetSingleSuccessor(); in TestCode()
|
D | induction_var_analysis_test.cc | 53 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 …]
|
D | register_allocator.cc | 60 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()
|
D | instruction_builder.h | 79 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_;
|
D | find_loops_test.cc | 39 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()
|
D | nodes.h | 56 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 …]
|
D | code_sinking.h | 43 void SinkCodeToUncommonBranch(HBasicBlock* end_block);
|
D | dead_code_elimination.h | 40 void MaybeRecordDeadBlock(HBasicBlock* block);
|
D | constant_folding.cc | 29 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()
|
D | reference_type_propagation.cc | 80 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 …]
|
D | ssa_phi_elimination.cc | 46 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in MarkDeadPhis() 95 for (HBasicBlock* block : graph_->GetPostOrder()) { in EliminateDeadPhis() 136 for (HBasicBlock* block : graph_->GetReversePostOrder()) { in Run()
|