Home
last modified time | relevance | path

Searched refs:InductionInfo (Results 1 – 5 of 5) sorted by relevance

/art/compiler/optimizing/
Dinduction_var_analysis.h100 struct InductionInfo : public ArenaObject<kArenaAllocInductionVarAnalysis> { struct
101 InductionInfo(InductionClass ic, in InductionInfo() argument
103 InductionInfo* a, in InductionInfo()
104 InductionInfo* b, in InductionInfo()
115 InductionInfo* op_a; argument
116 InductionInfo* op_b; argument
125 InductionInfo* CreateInvariantOp(InductionOp op, InductionInfo* a, InductionInfo* b) { in CreateInvariantOp() argument
130 InductionInfo* CreateInvariantFetch(HInstruction* f) { in CreateInvariantFetch()
133 InductionInfo(kInvariant, kFetch, nullptr, nullptr, f, f->GetType()); in CreateInvariantFetch()
136 InductionInfo* CreateTripCount(InductionOp op, in CreateTripCount()
[all …]
Dinduction_var_range.h214 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,
233 HInductionVarAnalysis::InductionInfo* trip,
[all …]
Dinduction_var_analysis.cc357 InductionInfo* info = nullptr; in ClassifyTrivial()
411 InductionInfo* initial = LookupInfo(loop, phi->InputAt(0)); in ClassifyNonTrivial()
425 InductionInfo* update = TransferPhi(loop, phi, /*input_index*/ 1, /*adjust_input_size*/ 0); in ClassifyNonTrivial()
441 InductionInfo* update = nullptr; in ClassifyNonTrivial()
488 InductionInfo* induction = SolvePhi(phi, /*input_index*/ 1, /*adjust_input_size*/ 0); in ClassifyNonTrivial()
521 HInductionVarAnalysis::InductionInfo* HInductionVarAnalysis::RotatePeriodicInduction( in RotatePeriodicInduction()
522 InductionInfo* induction, in RotatePeriodicInduction()
523 InductionInfo* last) { in RotatePeriodicInduction()
545 HInductionVarAnalysis::InductionInfo* HInductionVarAnalysis::TransferPhi(HLoopInformation* loop, in TransferPhi()
552 InductionInfo* a = LookupInfo(loop, inputs[input_index]); in TransferPhi()
[all …]
Dinduction_var_range.cc175 HInductionVarAnalysis::InductionInfo* info = nullptr; in GetInductionRange()
176 HInductionVarAnalysis::InductionInfo* trip = nullptr; in GetInductionRange()
349 HInductionVarAnalysis::InductionInfo* info = nullptr; in IsUnitStride()
350 HInductionVarAnalysis::InductionInfo* trip = nullptr; in IsUnitStride()
374 HInductionVarAnalysis::InductionInfo *trip = in GenerateTripCount()
403 HInductionVarAnalysis::InductionInfo *trip = in CheckForFiniteAndConstantProps()
412 bool InductionVarRange::IsConstant(HInductionVarAnalysis::InductionInfo* info, in IsConstant()
446 /*out*/ HInductionVarAnalysis::InductionInfo** info, in HasInductionInfo()
447 /*out*/ HInductionVarAnalysis::InductionInfo** trip) const { in HasInductionInfo()
452 HInductionVarAnalysis::InductionInfo* i = induction_analysis_->LookupInfo(lp, instruction); in HasInductionInfo()
[all …]
Dinduction_var_range_test.cc133 HInductionVarAnalysis::InductionInfo* CreateInvariant(char opc, in CreateInvariant()
134 HInductionVarAnalysis::InductionInfo* a, in CreateInvariant()
135 HInductionVarAnalysis::InductionInfo* b) { in CreateInvariant()
152 HInductionVarAnalysis::InductionInfo* CreateFetch(HInstruction* fetch) { in CreateFetch()
157 HInductionVarAnalysis::InductionInfo* CreateConst(int32_t c) { in CreateConst()
162 HInductionVarAnalysis::InductionInfo* CreateTripCount(int32_t tc, bool in_loop, bool safe) { in CreateTripCount()
179 HInductionVarAnalysis::InductionInfo* CreateLinear(int32_t a, int32_t b) { in CreateLinear()
189 HInductionVarAnalysis::InductionInfo* CreatePolynomial(int32_t a, int32_t b, int32_t c) { in CreatePolynomial()
199 HInductionVarAnalysis::InductionInfo* CreateGeometric(int32_t a, int32_t b, int32_t f, char op) { in CreateGeometric()
210 HInductionVarAnalysis::InductionInfo* CreateRange(int32_t lo, int32_t hi) { in CreateRange()
[all …]