Lines Matching refs:Value
64 static InductionVarRange::Value SimplifyMax(InductionVarRange::Value v) { in SimplifyMax()
71 return InductionVarRange::Value(v.instruction->InputAt(0), 1, v.b_constant); in SimplifyMax()
79 static InductionVarRange::Value CorrectForType(InductionVarRange::Value v, Primitive::Type type) { in CorrectForType()
90 : InductionVarRange::Value(); in CorrectForType()
99 static bool IsConstantValue(InductionVarRange::Value v) { in IsConstantValue()
104 static bool IsSameConstantValue(InductionVarRange::Value v1, InductionVarRange::Value v2) { in IsSameConstantValue()
128 /*out*/Value* min_val, in GetInductionRange()
129 /*out*/Value* max_val, in GetInductionRange()
163 bool InductionVarRange::RefineOuter(/*in-out*/ Value* min_val, in RefineOuter()
164 /*in-out*/ Value* max_val) const { in RefineOuter()
166 Value v1_min = RefineOuter(*min_val, /* is_min */ true); in RefineOuter()
167 Value v2_max = RefineOuter(*max_val, /* is_min */ false); in RefineOuter()
172 Value v1_max = RefineOuter(*min_val, /* is_min */ false); in RefineOuter()
173 Value v2_min = RefineOuter(*max_val, /* is_min */ true); in RefineOuter()
241 Value v_min = GetVal(info, nullptr, in_body, /* is_min */ true); in IsConstant()
242 Value v_max = GetVal(info, nullptr, in_body, /* is_min */ false); in IsConstant()
298 InductionVarRange::Value InductionVarRange::GetLinear(HInductionVarAnalysis::InductionInfo* info, in GetLinear()
337 return SubValue(Value(0), GetVal(&cancelled_trip, trip, in_body, !is_min)); in GetLinear()
348 InductionVarRange::Value InductionVarRange::GetFetch(HInstruction* instruction, in GetFetch()
356 return Value(static_cast<int32_t>(value)); in GetFetch()
359 return AddValue(Value(static_cast<int32_t>(value)), in GetFetch()
363 Value(static_cast<int32_t>(value))); in GetFetch()
376 return Value(1); in GetFetch()
379 return Value(instruction, 1, 0); in GetFetch()
382 InductionVarRange::Value InductionVarRange::GetVal(HInductionVarAnalysis::InductionInfo* info, in GetVal()
398 return SubValue(Value(0), in GetVal()
415 return Value(0); in GetVal()
417 return SubValue(GetVal(info->op_a, trip, in_body, is_min), Value(1)); in GetVal()
433 return Value(); in GetVal()
436 InductionVarRange::Value InductionVarRange::GetMul(HInductionVarAnalysis::InductionInfo* info1, in GetMul()
441 Value v1_min = GetVal(info1, trip, in_body, /* is_min */ true); in GetMul()
442 Value v1_max = GetVal(info1, trip, in_body, /* is_min */ false); in GetMul()
443 Value v2_min = GetVal(info2, trip, in_body, /* is_min */ true); in GetMul()
444 Value v2_max = GetVal(info2, trip, in_body, /* is_min */ false); in GetMul()
471 return Value(); in GetMul()
474 InductionVarRange::Value InductionVarRange::GetDiv(HInductionVarAnalysis::InductionInfo* info1, in GetDiv()
479 Value v1_min = GetVal(info1, trip, in_body, /* is_min */ true); in GetDiv()
480 Value v1_max = GetVal(info1, trip, in_body, /* is_min */ false); in GetDiv()
481 Value v2_min = GetVal(info2, trip, in_body, /* is_min */ true); in GetDiv()
482 Value v2_max = GetVal(info2, trip, in_body, /* is_min */ false); in GetDiv()
503 return Value(); in GetDiv()
506 InductionVarRange::Value InductionVarRange::MulRangeAndConstant(Value v_min, in MulRangeAndConstant()
507 Value v_max, in MulRangeAndConstant()
508 Value c, in MulRangeAndConstant()
513 InductionVarRange::Value InductionVarRange::DivRangeAndConstant(Value v_min, in DivRangeAndConstant()
514 Value v_max, in DivRangeAndConstant()
515 Value c, in DivRangeAndConstant()
520 InductionVarRange::Value InductionVarRange::AddValue(Value v1, Value v2) const { in AddValue()
524 return Value(v2.instruction, v2.a_constant, b); in AddValue()
526 return Value(v1.instruction, v1.a_constant, b); in AddValue()
528 return Value(v1.instruction, v1.a_constant + v2.a_constant, b); in AddValue()
531 return Value(); in AddValue()
534 InductionVarRange::Value InductionVarRange::SubValue(Value v1, Value v2) const { in SubValue()
538 return Value(v2.instruction, -v2.a_constant, b); in SubValue()
540 return Value(v1.instruction, v1.a_constant, b); in SubValue()
542 return Value(v1.instruction, v1.a_constant - v2.a_constant, b); in SubValue()
545 return Value(); in SubValue()
548 InductionVarRange::Value InductionVarRange::MulValue(Value v1, Value v2) const { in MulValue()
552 return Value(v2.instruction, v1.b_constant * v2.a_constant, v1.b_constant * v2.b_constant); in MulValue()
556 return Value(v1.instruction, v1.a_constant * v2.b_constant, v1.b_constant * v2.b_constant); in MulValue()
560 return Value(); in MulValue()
563 InductionVarRange::Value InductionVarRange::DivValue(Value v1, Value v2) const { in DivValue()
566 return Value(v1.b_constant / v2.b_constant); in DivValue()
569 return Value(); in DivValue()
572 InductionVarRange::Value InductionVarRange::MergeVal(Value v1, Value v2, bool is_min) const { in MergeVal()
575 return Value(v1.instruction, v1.a_constant, in MergeVal()
580 return Value(); in MergeVal()
583 InductionVarRange::Value InductionVarRange::RefineOuter(Value v, bool is_min) const { in RefineOuter()
602 …return AddValue(MulValue(Value(v.a_constant), GetVal(info, trip, in_body, is_min)), Value(v.b_cons… in RefineOuter()
782 Value extreme = GetVal(info, trip, in_body, is_min); in GenerateCode()