Home
last modified time | relevance | path

Searched refs:HLoopInformation (Results 1 – 25 of 29) sorted by relevance

12

/art/compiler/optimizing/
Dinduction_var_analysis.h155 void VisitLoop(HLoopInformation* loop);
156 void VisitNode(HLoopInformation* loop, HInstruction* instruction);
157 uint32_t VisitDescendant(HLoopInformation* loop, HInstruction* instruction);
158 void ClassifyTrivial(HLoopInformation* loop, HInstruction* instruction);
159 void ClassifyNonTrivial(HLoopInformation* loop);
163 InductionInfo* TransferPhi(HLoopInformation* loop,
174 InductionInfo* SolvePhiAllInputs(HLoopInformation* loop,
177 InductionInfo* SolveAddSub(HLoopInformation* loop,
184 InductionInfo* SolveOp(HLoopInformation* loop,
190 InductionInfo* SolveTest(HLoopInformation* loop,
[all …]
Dlinear_order.cc21 static bool InSameLoop(HLoopInformation* first_loop, HLoopInformation* second_loop) { in InSameLoop()
25 static bool IsLoop(HLoopInformation* info) { in IsLoop()
29 static bool IsInnerLoop(HLoopInformation* outer, HLoopInformation* inner) { in IsInnerLoop()
38 HLoopInformation* block_loop = block->GetLoopInformation(); in AddToListForLinearization()
42 HLoopInformation* current_loop = current->GetLoopInformation(); in AddToListForLinearization()
59 HLoopInformation* loop = header->GetLoopInformation(); in IsLinearOrderWellFormed()
Dloop_optimization.h48 explicit LoopNode(HLoopInformation* lp_info) in LoopNode()
54 HLoopInformation* loop_info;
109 void AddLoop(HLoopInformation* loop_info);
165 bool IsOnlyUsedAfterLoop(HLoopInformation* loop_info,
169 bool IsUsedOutsideLoop(HLoopInformation* loop_info,
171 bool TryReplaceWithLastValue(HLoopInformation* loop_info,
174 bool TryAssignLastValue(HLoopInformation* loop_info,
Dlicm.cc33 HLoopInformation* info = instruction->GetBlock()->GetLoopInformation(); in InputsAreDefinedBeforeLoop()
35 HLoopInformation* input_loop = input->GetBlock()->GetLoopInformation(); in InputsAreDefinedBeforeLoop()
49 HLoopInformation* input_loop = input->GetBlock()->GetLoopInformation(); in InputsAreDefinedBeforeLoop()
67 static void UpdateLoopPhisIn(HEnvironment* environment, HLoopInformation* info) { in UpdateLoopPhisIn()
100 HLoopInformation* loop_info = block->GetLoopInformation(); in Run()
Dinduction_var_analysis.cc28 static void RotateEntryPhiFirst(HLoopInformation* loop, in RotateEntryPhiFirst()
104 induction_(std::less<HLoopInformation*>(), in HInductionVarAnalysis()
122 void HInductionVarAnalysis::VisitLoop(HLoopInformation* loop) { in VisitLoop()
157 void HInductionVarAnalysis::VisitNode(HLoopInformation* loop, HInstruction* instruction) { in VisitNode()
201 uint32_t HInductionVarAnalysis::VisitDescendant(HLoopInformation* loop, HInstruction* instruction) { in VisitDescendant()
204 HLoopInformation* otherLoop = instruction->GetBlock()->GetLoopInformation(); in VisitDescendant()
219 void HInductionVarAnalysis::ClassifyTrivial(HLoopInformation* loop, HInstruction* instruction) { in ClassifyTrivial()
256 void HInductionVarAnalysis::ClassifyNonTrivial(HLoopInformation* loop) { in ClassifyNonTrivial()
407 HInductionVarAnalysis::InductionInfo* HInductionVarAnalysis::TransferPhi(HLoopInformation* loop, in TransferPhi()
558 HLoopInformation* loop, in SolvePhiAllInputs()
[all …]
Dinduction_var_range.h138 void ReVisit(HLoopInformation* loop) { in ReVisit()
156 bool IsFinite(HLoopInformation* loop, /*out*/ int64_t* tc) const;
174 HInstruction* GenerateTripCount(HLoopInformation* loop, HGraph* graph, HBasicBlock* block);
197 /*out*/ HLoopInformation** loop,
Dside_effects_analysis.h47 void UpdateLoopEffects(HLoopInformation* info, SideEffects effects);
Dside_effects_analysis.cc83 void SideEffectsAnalysis::UpdateLoopEffects(HLoopInformation* info, SideEffects effects) { in UpdateLoopEffects()
Dnodes.cc323 HLoopInformation* info = successor->GetLoopInformation(); in SplitCriticalEdge()
332 HLoopInformation* info = header->GetLoopInformation(); in SimplifyLoop()
460 void HLoopInformation::Dump(std::ostream& os) { in Dump()
573 void HLoopInformation::Add(HBasicBlock* block) { in Add()
577 void HLoopInformation::Remove(HBasicBlock* block) { in Remove()
581 void HLoopInformation::PopulateRecursive(HBasicBlock* block) { in PopulateRecursive()
601 void HLoopInformation::PopulateIrreducibleRecursive(HBasicBlock* block, ArenaBitVector* finalized) { in PopulateIrreducibleRecursive()
625 HLoopInformation* info = block->GetLoopInformation(); in PopulateIrreducibleRecursive()
650 void HLoopInformation::Populate() { in Populate()
705 HBasicBlock* HLoopInformation::GetPreHeader() const { in GetPreHeader()
[all …]
Dbounds_check_elimination.cc886 HLoopInformation* loop = bounds_check->GetBlock()->GetLoopInformation(); in VisitBoundsCheck()
1165 HLoopInformation* loop = array_get->GetBlock()->GetLoopInformation(); in VisitArrayGet()
1340 void TransformLoopForDynamicBCE(HLoopInformation* loop, HBoundsCheck* bounds_check) { in TransformLoopForDynamicBCE()
1467 bool DynamicBCESeemsProfitable(HLoopInformation* loop, HBasicBlock* block) { in DynamicBCESeemsProfitable()
1500 bool IsEarlyExitLoop(HLoopInformation* loop) { in IsEarlyExitLoop()
1526 bool CanHandleLength(HLoopInformation* loop, HInstruction* length, bool needs_taken_test) { in CanHandleLength()
1542 bool CanHandleNullCheck(HLoopInformation* loop, HInstruction* check, bool needs_taken_test) { in CanHandleNullCheck()
1569 …bool CanHandleInfiniteLoop(HLoopInformation* loop, HInstruction* index, bool needs_infinite_test) { in CanHandleInfiniteLoop()
1600 HBasicBlock* GetPreHeader(HLoopInformation* loop, HInstruction* instruction) { in GetPreHeader()
1619 void InsertDeoptInLoop(HLoopInformation* loop, in InsertDeoptInLoop()
[all …]
Dloop_optimization.cc57 static bool IsEarlyExit(HLoopInformation* loop_info) { in IsEarlyExit()
353 void HLoopOptimization::AddLoop(HLoopInformation* loop_info) { in AddLoop()
736 HLoopInformation* vloop = vector_header_->GetLoopInformation(); in Vectorize()
1673 bool HLoopOptimization::IsUsedOutsideLoop(HLoopInformation* loop_info, in IsUsedOutsideLoop()
1683 bool HLoopOptimization::IsOnlyUsedAfterLoop(HLoopInformation* loop_info, in IsOnlyUsedAfterLoop()
1690 HLoopInformation* other_loop_info = user->GetBlock()->GetLoopInformation(); in IsOnlyUsedAfterLoop()
1706 bool HLoopOptimization::TryReplaceWithLastValue(HLoopInformation* loop_info, in TryReplaceWithLastValue()
1720 HLoopInformation* other_loop_info = user->GetBlock()->GetLoopInformation(); in TryReplaceWithLastValue()
1734 HLoopInformation* other_loop_info = user->GetHolder()->GetBlock()->GetLoopInformation(); in TryReplaceWithLastValue()
1748 bool HLoopOptimization::TryAssignLastValue(HLoopInformation* loop_info, in TryAssignLastValue()
Dinduction_var_range.cc186 static HInstruction* GetLoopControl(HLoopInformation* loop) { in GetLoopControl()
207 HLoopInformation* loop = nullptr; in GetInductionRange()
354 …for (HLoopInformation* lp = instruction->GetBlock()->GetLoopInformation(); // closest enveloping … in Replace()
364 bool InductionVarRange::IsFinite(HLoopInformation* loop, /*out*/ int64_t* tc) const { in IsFinite()
378 HLoopInformation* loop = nullptr; in IsUnitStride()
401 HInstruction* InductionVarRange::GenerateTripCount(HLoopInformation* loop, in GenerateTripCount()
462 /*out*/ HLoopInformation** loop, in HasInductionInfo()
467 HLoopInformation* lp = context->GetBlock()->GetLoopInformation(); // closest enveloping loop in HasInductionInfo()
693 HLoopInformation* next_loop = nullptr; in GetFetch()
967 HLoopInformation* loop = nullptr; in GenerateRangeOrLastValue()
Dfind_loops_test.cc122 HLoopInformation* info = block->GetLoopInformation(); in TestBlock()
340 HLoopInformation* info = graph->GetBlocks()[3]->GetLoopInformation(); in TEST_F()
Dcha_guard_optimization.cc182 HLoopInformation* loop_info = block->GetLoopInformation(); in HoistGuard()
Dgraph_visualizer.cc626 HLoopInformation* loop_info = instruction->GetBlock()->GetLoopInformation(); in PrintInstruction()
631 HLoopInformation* outer = loop_info->GetPreHeader()->GetLoopInformation(); in PrintInstruction()
Dload_store_analysis.h421 HLoopInformation* loop_info = instruction->GetBlock()->GetLoopInformation(); in VisitInstanceFieldSet()
Dnodes.h746 class HLoopInformation : public ArenaObject<kArenaAllocLoopInfo> {
748 HLoopInformation(HBasicBlock* header, HGraph* graph) in HLoopInformation() function
815 bool IsIn(const HLoopInformation& other) const;
851 DISALLOW_COPY_AND_ASSIGN(HLoopInformation);
965 HLoopInformation* loop_info = GetLoopInformation(); in IsSingleJump()
973 loop_information_ = new (graph_->GetArena()) HLoopInformation(this, graph_); in AddBackEdge()
1178 HLoopInformation* GetLoopInformation() const { in GetLoopInformation()
1185 void SetInLoop(HLoopInformation* info) { in SetInLoop()
1203 void SetLoopInformation(HLoopInformation* info) { in SetLoopInformation()
1250 HLoopInformation* loop_information_;
[all …]
Dgraph_checker.cc565 HLoopInformation* loop_information = loop_header->GetLoopInformation(); in HandleLoop()
641 HLoopInformation* outer_info = it.Current(); in HandleLoop()
Dssa_liveness_analysis.h134 HLoopInformation* GetLoopInformation() const { in GetLoopInformation()
1057 HLoopInformation* current = it.Current(); in AddBackEdgeUses()
Dload_store_elimination.cc389 HLoopInformation* loop_info = instruction->GetBlock()->GetLoopInformation(); in VisitSetLocation()
Dcode_generator.cc857 HLoopInformation* info = instruction->GetBlock()->GetLoopInformation(); in RecordPcInfo()
Dregister_allocator_graph_color.cc66 HLoopInformation* loop_info = block->GetLoopInformation(); in LoopDepthAt()
Dcode_generator_arm_vixl.cc2478 const HLoopInformation* const info = block->GetLoopInformation(); in GetFinalLabel()
2932 HLoopInformation* info = block->GetLoopInformation(); in HandleGoto()
Dcode_generator_arm64.cc3581 HLoopInformation* info = block->GetLoopInformation(); in HandleGoto()
/art/test/478-checker-inline-noreturn/
Dinfo.txt2 computation fails because of incorrect HLoopInformation if we inline

12