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);
189 bool IsConstant(HInductionVarAnalysis::InductionInfo* info,
197 /*out*/ HInductionVarAnalysis::InductionInfo** info,
198 /*out*/ HInductionVarAnalysis::InductionInfo** trip) const;
200 bool HasFetchInLoop(HInductionVarAnalysis::InductionInfo* info) const;
201 bool NeedsTripCount(HInductionVarAnalysis::InductionInfo* info,
203 bool IsBodyTripCount(HInductionVarAnalysis::InductionInfo* trip) const;
204 bool IsUnsafeTripCount(HInductionVarAnalysis::InductionInfo* trip) const;
205 bool IsWellBehavedTripCount(HInductionVarAnalysis::InductionInfo* trip) const;
207 Value GetLinear(HInductionVarAnalysis::InductionInfo* info,
[all …]
Dinduction_var_range.cc195 InductionVarRange::InductionVarRange(HInductionVarAnalysis* induction_analysis) in InductionVarRange()
208 HInductionVarAnalysis::InductionInfo* info = nullptr; in GetInductionRange()
209 HInductionVarAnalysis::InductionInfo* trip = nullptr; in GetInductionRange()
234 if (!min_val->is_known && info->induction_class == HInductionVarAnalysis::kWrapAround) { in GetInductionRange()
365 HInductionVarAnalysis::InductionInfo *trip = in IsFinite()
378 HInductionVarAnalysis::InductionInfo* info = nullptr; in IsUnitStride()
379 HInductionVarAnalysis::InductionInfo* trip = nullptr; in IsUnitStride()
381 if (info->induction_class == HInductionVarAnalysis::kLinear && in IsUnitStride()
382 info->op_b->operation == HInductionVarAnalysis::kFetch && in IsUnitStride()
383 !HInductionVarAnalysis::IsNarrowingLinear(info)) { in IsUnitStride()
[all …]
Dinduction_var_analysis.cc94 HInductionVarAnalysis::HInductionVarAnalysis(HGraph* graph) in HInductionVarAnalysis() function in art::HInductionVarAnalysis
110 void HInductionVarAnalysis::Run() { in Run()
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()
219 void HInductionVarAnalysis::ClassifyTrivial(HLoopInformation* loop, HInstruction* instruction) { in ClassifyTrivial()
256 void HInductionVarAnalysis::ClassifyNonTrivial(HLoopInformation* loop) { in ClassifyNonTrivial()
383 HInductionVarAnalysis::InductionInfo* HInductionVarAnalysis::RotatePeriodicInduction( in RotatePeriodicInduction()
407 HInductionVarAnalysis::InductionInfo* HInductionVarAnalysis::TransferPhi(HLoopInformation* loop, in TransferPhi()
424 HInductionVarAnalysis::InductionInfo* HInductionVarAnalysis::TransferAddSub(InductionInfo* a, in TransferAddSub()
[all …]
Dbounds_check_elimination.h25 class HInductionVarAnalysis; variable
31 HInductionVarAnalysis* induction_analysis) in BoundsCheckElimination()
42 HInductionVarAnalysis* induction_analysis_;
Dinduction_var_range_test.cc37 iva_(new (&allocator_) 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 …]
Dinduction_var_analysis.h36 class HInductionVarAnalysis : public HOptimization {
38 explicit HInductionVarAnalysis(HGraph* graph);
270 DISALLOW_COPY_AND_ASSIGN(HInductionVarAnalysis);
Dloop_optimization_test.cc33 iva_(new (&allocator_) HInductionVarAnalysis(graph_)), in LoopOptimizationTest()
107 HInductionVarAnalysis* iva_;
Doptimizing_compiler.cc468 HInductionVarAnalysis* most_recent_induction) { in BuildOptimization()
499 } else if (opt_name == HInductionVarAnalysis::kInductionPassName) { in BuildOptimization()
500 return new (arena) HInductionVarAnalysis(graph); in BuildOptimization()
558 HInductionVarAnalysis* most_recent_induction = nullptr; in BuildOptimizations()
578 } else if (opt_name == HInductionVarAnalysis::kInductionPassName) { in BuildOptimizations()
579 most_recent_induction = down_cast<HInductionVarAnalysis*>(opt); in BuildOptimizations()
774 HInductionVarAnalysis* induction = new (arena) HInductionVarAnalysis(graph); in RunOptimizations()
Dloop_optimization.h37 HInductionVarAnalysis* induction_analysis);
Dinduction_var_analysis_test.cc173 return HInductionVarAnalysis::InductionToString( in GetInductionInfo()
186 return HInductionVarAnalysis::InductionEqual( in HaveSameInduction()
193 return HInductionVarAnalysis::IsNarrowingLinear( in IsNarrowingLinear()
200 iva_ = new (&allocator_) HInductionVarAnalysis(graph_); in PerformInductionVarAnalysis()
208 HInductionVarAnalysis* iva_;
Dbounds_check_elimination_test.cc53 HInductionVarAnalysis induction(graph_); in RunBCE()
Dloop_optimization.cc195 HInductionVarAnalysis* induction_analysis) in HLoopOptimization()
Dbounds_check_elimination.cc511 HInductionVarAnalysis* induction_analysis) in BCEVisitor()