Searched refs:loop_info (Results 1 – 11 of 11) sorted by relevance
/art/compiler/optimizing/ |
D | licm.cc | 100 HLoopInformation* loop_info = block->GetLoopInformation(); in Run() local 102 HBasicBlock* pre_header = loop_info->GetPreHeader(); in Run() 104 for (HBlocksInLoopIterator it_loop(*loop_info); !it_loop.Done(); it_loop.Advance()) { in Run() 107 if (inner->GetLoopInformation() != loop_info) { in Run() 116 if (loop_info->ContainsIrreducibleLoop()) { in Run() 121 DCHECK(!loop_info->IsIrreducible()); in Run() 154 UpdateLoopPhisIn(instruction->GetEnvironment(), loop_info); in Run()
|
D | cha_guard_optimization.cc | 182 HLoopInformation* loop_info = block->GetLoopInformation(); in HoistGuard() local 183 if (loop_info != nullptr && in HoistGuard() 184 !loop_info->IsIrreducible() && in HoistGuard() 185 loop_info->IsDefinedOutOfTheLoop(receiver)) { in HoistGuard() 197 HBasicBlock* pre_header = loop_info->GetPreHeader(); in HoistGuard() 202 HInstruction* suspend = loop_info->GetSuspendCheck(); in HoistGuard() 209 suspend->GetEnvironment(), loop_info->GetHeader()); in HoistGuard()
|
D | loop_optimization.h | 53 : loop_info(lp_info), in LoopNode() 58 HLoopInformation* loop_info; member 123 void AddLoop(HLoopInformation* loop_info); 214 bool IsOnlyUsedAfterLoop(HLoopInformation* loop_info, 218 bool IsUsedOutsideLoop(HLoopInformation* loop_info, 220 bool TryReplaceWithLastValue(HLoopInformation* loop_info, 223 bool TryAssignLastValue(HLoopInformation* loop_info,
|
D | superblock_cloner_test.cc | 206 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() local 207 orig_bb_set.Union(&loop_info->GetBlocks()); in TEST_F() 283 HLoopInformation* loop_info = header->GetLoopInformation(); in TEST_F() local 284 orig_bb_set.Union(&loop_info->GetBlocks()); in TEST_F() 300 EXPECT_EQ(header->GetLoopInformation(), loop_info); in TEST_F() 301 EXPECT_EQ(loop_info->GetHeader(), header); in TEST_F() 302 EXPECT_TRUE(loop_info->Contains(*loop_body)); in TEST_F() 303 EXPECT_TRUE(loop_info->IsBackEdge(*loop_body)); in TEST_F()
|
D | loop_optimization.cc | 77 static bool IsEarlyExit(HLoopInformation* loop_info) { in IsEarlyExit() argument 78 HBlocksInLoopReversePostOrderIterator it_loop(*loop_info); in IsEarlyExit() 81 if (!loop_info->Contains(*successor)) { in IsEarlyExit() 506 void HLoopOptimization::AddLoop(HLoopInformation* loop_info) { in AddLoop() argument 507 DCHECK(loop_info != nullptr); in AddLoop() 508 LoopNode* node = new (loop_allocator_) LoopNode(loop_info); in AddLoop() 513 } else if (loop_info->IsIn(*last_loop_->loop_info)) { in AddLoop() 520 while (last_loop_->outer != nullptr && !loop_info->IsIn(*last_loop_->outer->loop_info)) { in AddLoop() 559 induction_range_.ReVisit(node->loop_info); in TraverseLoopsInnerToOuter() 583 HBasicBlock* header = node->loop_info->GetHeader(); in SimplifyInduction() [all …]
|
D | nodes.cc | 404 HLoopInformation* loop_info = header->GetLoopInformation(); in FixControlForNewSinglePreheader() local 407 if (!loop_info->IsBackEdge(*predecessor) && predecessor != new_preheader) { in FixControlForNewSinglePreheader() 444 HLoopInformation* loop_info = header->GetLoopInformation(); in TransformLoopToSinglePreheaderFormat() local 462 if (!loop_info->IsBackEdge(*predecessor)) { in TransformLoopToSinglePreheaderFormat() 494 if (loop_info->Contains(*pred_block)) { in TransformLoopToSinglePreheaderFormat() 495 DCHECK(loop_info->IsBackEdge(*pred_block)); in TransformLoopToSinglePreheaderFormat() 2090 HLoopInformation* loop_info = GetLoopInformation(); in DisconnectAndDelete() local 2094 DCHECK(!loop_info->IsIrreducible()); in DisconnectAndDelete() 2095 DCHECK_EQ(loop_info->GetBlocks().NumSetBits(), 1u); in DisconnectAndDelete() 2096 DCHECK_EQ(static_cast<uint32_t>(loop_info->GetBlocks().GetHighestBitSet()), GetBlockId()); in DisconnectAndDelete() [all …]
|
D | load_store_analysis.h | 477 HLoopInformation* loop_info = instruction->GetBlock()->GetLoopInformation(); in VisitInstanceFieldSet() local 478 if (loop_info != nullptr) { in VisitInstanceFieldSet() 481 if (loop_info->IsDefinedOutOfTheLoop(ref)) { in VisitInstanceFieldSet()
|
D | load_store_elimination.cc | 639 HLoopInformation* loop_info = instruction->GetBlock()->GetLoopInformation(); in VisitSetLocation() local 640 if (loop_info == nullptr) { in VisitSetLocation() 644 } else if (!loop_info->IsIrreducible()) { in VisitSetLocation() 646 DCHECK(side_effects_.GetLoopEffects(loop_info->GetHeader()).DoesAnyWrite()); in VisitSetLocation() 647 if (ref_info->IsSingleton() && !loop_info->IsDefinedOutOfTheLoop(original_ref)) { in VisitSetLocation()
|
D | graph_visualizer.cc | 629 HLoopInformation* loop_info = instruction->GetBlock()->GetLoopInformation(); in PrintInstruction() local 630 if (loop_info == nullptr) { in PrintInstruction() 633 StartAttributeStream("loop") << "B" << loop_info->GetHeader()->GetBlockId(); in PrintInstruction() 634 HLoopInformation* outer = loop_info->GetPreHeader()->GetLoopInformation(); in PrintInstruction() 641 << std::boolalpha << loop_info->IsIrreducible() << std::noboolalpha; in PrintInstruction()
|
D | register_allocator_graph_color.cc | 66 HLoopInformation* loop_info = block->GetLoopInformation(); in LoopDepthAt() local 68 while (loop_info != nullptr) { in LoopDepthAt() 70 loop_info = loop_info->GetPreHeader()->GetLoopInformation(); in LoopDepthAt()
|
D | nodes.h | 998 HLoopInformation* loop_info = GetLoopInformation(); in IsSingleJump() local 1001 && (loop_info == nullptr || !loop_info->IsBackEdge(*this)); in IsSingleJump()
|