Lines Matching refs:in_body
217 bool in_body = context->GetBlock() != loop->GetHeader(); in GetInductionRange() local
219 *min_val = SimplifyMin(GetVal(info, trip, in_body, /* is_min= */ true)); in GetInductionRange()
220 *max_val = SimplifyMax(GetVal(info, trip, in_body, /* is_min= */ false), chase_hint); in GetInductionRange()
225 *min_val = SimplifyMin(GetVal(info, trip, in_body, /* is_min= */ true)); in GetInductionRange()
547 bool in_body, in GetLinear() argument
571 return GetVal(&cancelled_trip, trip, in_body, is_min); in GetLinear()
586 return SubValue(Value(0), GetVal(&cancelled_trip, trip, in_body, !is_min)); in GetLinear()
593 return AddValue(GetMul(info->op_a, trip, trip, in_body, is_min), in GetLinear()
594 GetVal(info->op_b, trip, in_body, is_min)); in GetLinear()
599 bool in_body, in GetPolynomial() argument
609 Value c = GetVal(info->op_b, trip, in_body, is_min); in GetPolynomial()
613 Value m = GetVal(trip, trip, in_body, is_min); in GetPolynomial()
625 bool in_body, in GetGeometric() argument
638 Value b = GetVal(info->op_b, trip, in_body, is_min); in GetGeometric()
647 bool in_body, in GetFetch() argument
651 if (chase_hint_ == nullptr && in_body && trip != nullptr && instruction == trip->op_a->fetch) { in GetFetch()
671 GetFetch(instruction->InputAt(1), trip, in_body, is_min)); in GetFetch()
673 return AddValue(GetFetch(instruction->InputAt(0), trip, in_body, is_min), in GetFetch()
680 GetFetch(instruction->InputAt(1), trip, in_body, !is_min)); in GetFetch()
682 return SubValue(GetFetch(instruction->InputAt(0), trip, in_body, is_min), in GetFetch()
690 return GetFetch(instruction->InputAt(0)->AsNewArray()->GetLength(), trip, in_body, is_min); in GetFetch()
697 return GetFetch(instruction->InputAt(0), trip, in_body, is_min); in GetFetch()
722 bool in_body, in GetVal() argument
730 return AddValue(GetVal(info->op_a, trip, in_body, is_min), in GetVal()
731 GetVal(info->op_b, trip, in_body, is_min)); in GetVal()
733 return SubValue(GetVal(info->op_a, trip, in_body, is_min), in GetVal()
734 GetVal(info->op_b, trip, in_body, !is_min)); in GetVal()
737 GetVal(info->op_b, trip, in_body, !is_min)); in GetVal()
739 return GetMul(info->op_a, info->op_b, trip, in_body, is_min); in GetVal()
741 return GetDiv(info->op_a, info->op_b, trip, in_body, is_min); in GetVal()
747 return GetFetch(info->fetch, trip, in_body, is_min); in GetVal()
750 if (!in_body && !is_min) { // one extra! in GetVal()
751 return GetVal(info->op_a, trip, in_body, is_min); in GetVal()
758 } else if (in_body) { in GetVal()
759 return SubValue(GetVal(info->op_a, trip, in_body, is_min), Value(1)); in GetVal()
767 return CorrectForType(GetLinear(info, trip, in_body, is_min), info->type); in GetVal()
769 return GetPolynomial(info, trip, in_body, is_min); in GetVal()
771 return GetGeometric(info, trip, in_body, is_min); in GetVal()
774 return MergeVal(GetVal(info->op_a, trip, in_body, is_min), in GetVal()
775 GetVal(info->op_b, trip, in_body, is_min), is_min); in GetVal()
784 bool in_body, in GetMul() argument
789 return MulRangeAndConstant(value, info2, trip, in_body, is_min); in GetMul()
791 return MulRangeAndConstant(value, info1, trip, in_body, is_min); in GetMul()
794 Value v1_min = GetVal(info1, trip, in_body, /* is_min= */ true); in GetMul()
795 Value v1_max = GetVal(info1, trip, in_body, /* is_min= */ false); in GetMul()
796 Value v2_min = GetVal(info2, trip, in_body, /* is_min= */ true); in GetMul()
797 Value v2_max = GetVal(info2, trip, in_body, /* is_min= */ false); in GetMul()
820 bool in_body, in GetDiv() argument
825 return DivRangeAndConstant(value, info1, trip, in_body, is_min); in GetDiv()
828 Value v1_min = GetVal(info1, trip, in_body, /* is_min= */ true); in GetDiv()
829 Value v1_max = GetVal(info1, trip, in_body, /* is_min= */ false); in GetDiv()
830 Value v2_min = GetVal(info2, trip, in_body, /* is_min= */ true); in GetDiv()
831 Value v2_max = GetVal(info2, trip, in_body, /* is_min= */ false); in GetDiv()
885 bool in_body, in MulRangeAndConstant() argument
889 return MulValue(GetVal(info, trip, in_body, is_min == value >= 0), c); in MulRangeAndConstant()
898 bool in_body, in DivRangeAndConstant() argument
902 return DivValue(GetVal(info, trip, in_body, is_min == value >= 0), c); in DivRangeAndConstant()
992 bool in_body = context->GetBlock() != loop->GetHeader(); in GenerateRangeOrLastValue() local
998 DCHECK(!in_body); in GenerateRangeOrLastValue()
1022 … return GenerateCode(trip->op_b, nullptr, graph, block, taken_test, in_body, /* is_min= */ false); in GenerateRangeOrLastValue()
1025 trip->op_b, nullptr, nullptr, nullptr, nullptr, in_body, /* is_min= */ false)) { in GenerateRangeOrLastValue()
1033 GenerateCode(info, trip, graph, block, lower, in_body, /* is_min= */ true)) && in GenerateRangeOrLastValue()
1035 GenerateCode(info, trip, graph, block, upper, in_body, /* is_min= */ false); in GenerateRangeOrLastValue()
1225 bool in_body, in GenerateCode() argument
1251 if (GenerateCode(info->op_a, trip, graph, block, &opa, in_body, is_min) && in GenerateCode()
1252 GenerateCode(info->op_b, trip, graph, block, &opb, in_body, is_min)) { in GenerateCode()
1285 if (GenerateCode(info->op_b, trip, graph, block, &opb, in_body, !is_min)) { in GenerateCode()
1299 if (!in_body && !is_min) { // one extra! in GenerateCode()
1300 return GenerateCode(info->op_a, trip, graph, block, result, in_body, is_min); in GenerateCode()
1310 } else if (in_body) { in GenerateCode()
1311 if (GenerateCode(info->op_a, trip, graph, block, &opb, in_body, is_min)) { in GenerateCode()
1337 if (GenerateCode(trip, trip, graph, block, &opa, in_body, is_min_a) && in GenerateCode()
1338 GenerateCode(info->op_b, trip, graph, block, &opb, in_body, is_min)) { in GenerateCode()
1366 Value extreme = GetVal(info, trip, in_body, is_min); in GenerateCode()