Home
last modified time | relevance | path

Searched refs:HInductionVarAnalysis (Results 1 – 13 of 13) sorted by relevance

/art/compiler/optimizing/
Dinduction_var_range.h58 explicit InductionVarRange(HInductionVarAnalysis* induction);
214 bool IsConstant(HInductionVarAnalysis::InductionInfo* info,
222 /*out*/ HInductionVarAnalysis::InductionInfo** info,
223 /*out*/ HInductionVarAnalysis::InductionInfo** trip) const;
225 bool HasFetchInLoop(HInductionVarAnalysis::InductionInfo* info) const;
226 bool NeedsTripCount(HInductionVarAnalysis::InductionInfo* info,
228 bool IsBodyTripCount(HInductionVarAnalysis::InductionInfo* trip) const;
229 bool IsUnsafeTripCount(HInductionVarAnalysis::InductionInfo* trip) const;
230 bool IsWellBehavedTripCount(HInductionVarAnalysis::InductionInfo* trip) const;
232 Value GetLinear(HInductionVarAnalysis::InductionInfo* info,
[all …]
Dinduction_var_range.cc162 InductionVarRange::InductionVarRange(HInductionVarAnalysis* induction_analysis) in InductionVarRange()
175 HInductionVarAnalysis::InductionInfo* info = nullptr; in GetInductionRange()
176 HInductionVarAnalysis::InductionInfo* trip = nullptr; in GetInductionRange()
202 if (!min_val->is_known && info->induction_class == HInductionVarAnalysis::kWrapAround) { in GetInductionRange()
349 HInductionVarAnalysis::InductionInfo* info = nullptr; in IsUnitStride()
350 HInductionVarAnalysis::InductionInfo* trip = nullptr; in IsUnitStride()
352 if (info->induction_class == HInductionVarAnalysis::kLinear && in IsUnitStride()
353 !HInductionVarAnalysis::IsNarrowingLinear(info)) { in IsUnitStride()
359 } else if (info->op_b->operation == HInductionVarAnalysis::kFetch) { in IsUnitStride()
374 HInductionVarAnalysis::InductionInfo *trip = in GenerateTripCount()
[all …]
Dinduction_var_range_test.cc36 iva_(new (GetAllocator()) HInductionVarAnalysis(graph_)), in InductionVarRangeTest()
133 HInductionVarAnalysis::InductionInfo* CreateInvariant(char opc, in CreateInvariant()
134 HInductionVarAnalysis::InductionInfo* a, in CreateInvariant()
135 HInductionVarAnalysis::InductionInfo* b) { in CreateInvariant()
136 HInductionVarAnalysis::InductionOp op; in CreateInvariant()
138 case '+': op = HInductionVarAnalysis::kAdd; break; in CreateInvariant()
139 case '-': op = HInductionVarAnalysis::kSub; break; in CreateInvariant()
140 case 'n': op = HInductionVarAnalysis::kNeg; break; in CreateInvariant()
141 case '*': op = HInductionVarAnalysis::kMul; break; in CreateInvariant()
142 case '/': op = HInductionVarAnalysis::kDiv; break; in CreateInvariant()
[all …]
Dbounds_check_elimination.h25 class HInductionVarAnalysis; variable
31 HInductionVarAnalysis* induction_analysis,
43 HInductionVarAnalysis* induction_analysis_;
Dinduction_var_analysis.cc230 HInductionVarAnalysis::HInductionVarAnalysis(HGraph* graph, const char* name) in HInductionVarAnalysis() function in art::HInductionVarAnalysis
246 bool HInductionVarAnalysis::Run() { in Run()
259 void HInductionVarAnalysis::VisitLoop(HLoopInformation* loop) { in VisitLoop()
294 void HInductionVarAnalysis::VisitNode(HLoopInformation* loop, HInstruction* instruction) { in VisitNode()
338 uint32_t HInductionVarAnalysis::VisitDescendant(HLoopInformation* loop, HInstruction* instruction) { in VisitDescendant()
356 void HInductionVarAnalysis::ClassifyTrivial(HLoopInformation* loop, HInstruction* instruction) { in ClassifyTrivial()
393 void HInductionVarAnalysis::ClassifyNonTrivial(HLoopInformation* loop) { in ClassifyNonTrivial()
521 HInductionVarAnalysis::InductionInfo* HInductionVarAnalysis::RotatePeriodicInduction( in RotatePeriodicInduction()
545 HInductionVarAnalysis::InductionInfo* HInductionVarAnalysis::TransferPhi(HLoopInformation* loop, in TransferPhi()
562 HInductionVarAnalysis::InductionInfo* HInductionVarAnalysis::TransferAddSub(InductionInfo* a, in TransferAddSub()
[all …]
Dinduction_var_analysis.h36 class HInductionVarAnalysis : public HOptimization {
38 explicit HInductionVarAnalysis(HGraph* graph, const char* name = kInductionPassName);
283 DISALLOW_COPY_AND_ASSIGN(HInductionVarAnalysis);
Doptimization.cc68 return HInductionVarAnalysis::kInductionPassName; in OptimizationPassName()
178 HInductionVarAnalysis* most_recent_induction = nullptr; in ConstructOptimizations()
197 opt = most_recent_induction = new (allocator) HInductionVarAnalysis(graph, pass_name); in ConstructOptimizations()
Dloop_optimization_test.cc36 iva_ = new (GetAllocator()) HInductionVarAnalysis(graph_); in SetUp()
124 HInductionVarAnalysis* iva_;
Dinduction_var_analysis_test.cc171 return HInductionVarAnalysis::InductionToString( in GetInductionInfo()
184 return HInductionVarAnalysis::InductionEqual( in HaveSameInduction()
191 return HInductionVarAnalysis::IsNarrowingLinear( in IsNarrowingLinear()
198 iva_ = new (GetAllocator()) HInductionVarAnalysis(graph_); in PerformInductionVarAnalysis()
204 HInductionVarAnalysis* iva_;
Dloop_optimization.h42 HInductionVarAnalysis* induction_analysis,
Dbounds_check_elimination_test.cc53 HInductionVarAnalysis induction(graph_); in RunBCE()
Dbounds_check_elimination.cc512 HInductionVarAnalysis* induction_analysis) in BCEVisitor()
Dloop_optimization.cc462 HInductionVarAnalysis* induction_analysis, in HLoopOptimization()