Home | History | Annotate | Download | only in optimizing

Lines Matching full:hinductionvaranalysis

37         iva_(new (&allocator_) HInductionVarAnalysis(graph_)),
115 HInductionVarAnalysis::InductionInfo* CreateInvariant(char opc,
116 HInductionVarAnalysis::InductionInfo* a,
117 HInductionVarAnalysis::InductionInfo* b) {
118 HInductionVarAnalysis::InductionOp op;
120 case '+': op = HInductionVarAnalysis::kAdd; break;
121 case '-': op = HInductionVarAnalysis::kSub; break;
122 case 'n': op = HInductionVarAnalysis::kNeg; break;
123 case '*': op = HInductionVarAnalysis::kMul; break;
124 case '/': op = HInductionVarAnalysis::kDiv; break;
125 default: op = HInductionVarAnalysis::kNop; break;
131 HInductionVarAnalysis::InductionInfo* CreateFetch(HInstruction* fetch) {
136 HInductionVarAnalysis::InductionInfo* CreateConst(int32_t c) {
141 HInductionVarAnalysis::InductionInfo* CreateTripCount(int32_t tc, bool in_loop, bool safe) {
145 HInductionVarAnalysis::kTripCountInLoop, CreateConst(tc), nullptr, type);
148 HInductionVarAnalysis::kTripCountInLoopUnsafe, CreateConst(tc), nullptr, type);
151 HInductionVarAnalysis::kTripCountInBody, CreateConst(tc), nullptr, type);
154 HInductionVarAnalysis::kTripCountInBodyUnsafe, CreateConst(tc), nullptr, type);
159 HInductionVarAnalysis::InductionInfo* CreateLinear(int32_t a, int32_t b) {
161 HInductionVarAnalysis::kLinear, CreateConst(a), CreateConst(b), Primitive::kPrimInt);
165 HInductionVarAnalysis::InductionInfo* CreateRange(int32_t lo, int32_t hi) {
167 HInductionVarAnalysis::kPeriodic, CreateConst(lo), CreateConst(hi), Primitive::kPrimInt);
171 HInductionVarAnalysis::InductionInfo* CreateWrapAround(
173 HInductionVarAnalysis::InductionInfo* info) {
175 HInductionVarAnalysis::kWrapAround, CreateConst(initial), info, Primitive::kPrimInt);
179 HInductionVarAnalysis::InductionInfo* CreateWrapAround(int32_t initial, int32_t lo, int32_t hi) {
187 bool NeedsTripCount(HInductionVarAnalysis::InductionInfo* info) {
191 bool IsBodyTripCount(HInductionVarAnalysis::InductionInfo* trip) {
195 bool IsUnsafeTripCount(HInductionVarAnalysis::InductionInfo* trip) {
199 Value GetMin(HInductionVarAnalysis::InductionInfo* info,
200 HInductionVarAnalysis::InductionInfo* induc) {
204 Value GetMax(HInductionVarAnalysis::InductionInfo* info,
205 HInductionVarAnalysis::InductionInfo* induc) {
209 Value GetMul(HInductionVarAnalysis::InductionInfo* info1,
210 HInductionVarAnalysis::InductionInfo* info2,
215 Value GetDiv(HInductionVarAnalysis::InductionInfo* info1,
216 HInductionVarAnalysis::InductionInfo* info2,
221 bool IsExact(HInductionVarAnalysis::InductionInfo* info, int64_t* value) {
225 bool IsAtMost(HInductionVarAnalysis::InductionInfo* info, int64_t* value) {
229 bool IsAtLeast(HInductionVarAnalysis::InductionInfo* info, int64_t* value) {
247 HInductionVarAnalysis* iva_;