Lines Matching refs:Value

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