Lines Matching defs:vr0
830 value_range vr0, vr1;
832 vr0 = *(get_value_range (op0));
834 vr0.set (op0);
836 vr0.set_varying (TREE_TYPE (op0));
850 if (vr0.varying_p () && !vr1.varying_p ())
851 vr0 = value_range (vrp_val_min (expr_type), vrp_val_max (expr_type));
852 else if (vr1.varying_p () && !vr0.varying_p ())
856 range_fold_binary_expr (vr, code, expr_type, &vr0, &vr1);
899 && vr0.kind () == VR_RANGE
900 && symbolic_range_based_on_p (&vr0, op1))
905 /* Try with VR0 and [-INF, OP1]. */
906 if (is_gimple_min_invariant (minus_p ? vr0.max () : vr0.min ()))
909 /* Try with VR0 and [OP1, +INF]. */
910 else if (is_gimple_min_invariant (minus_p ? vr0.min () : vr0.max ()))
913 /* Try with VR0 and [OP1, OP1]. */
917 range_fold_binary_expr (vr, code, expr_type, &vr0, &n_vr1);
951 && ((vr0.kind () == VR_ANTI_RANGE
952 && vr0.min () == op1
953 && vr0.min () == vr0.max ())
972 value_range vr0;
977 vr0 = *(get_value_range (op0));
979 vr0.set (op0);
981 vr0.set_varying (type);
983 range_fold_unary_expr (vr, code, type, &vr0, TREE_TYPE (op0));
997 const value_range_equiv *vr0 = &tem0;
999 vr0 = get_value_range (op0);
1016 vr->deep_copy (vr0);
1063 value_range vr0, vr1;
1065 vr0 = *query->get_value_range (op0, s);
1067 vr0.set (op0);
1069 vr0.set_varying (TREE_TYPE (op0));
1078 tree vr0min = vr0.min (), vr0max = vr0.max ();
1080 if (!range_int_cst_p (&vr0)
1315 value_range_equiv vr0, vr1;
1320 extract_range_from_unary_expr (&vr0, NOP_EXPR,
1324 range_fold_binary_expr (vr, subcode, type, &vr0, &vr1);
1383 /* Given two numeric value ranges VR0, VR1 and a comparison code COMP:
1385 - Return BOOLEAN_TRUE_NODE if VR0 COMP VR1 always returns true for
1398 compare_ranges (enum tree_code comp, const value_range_equiv *vr0,
1402 if (vr0->varying_p ()
1403 || vr0->undefined_p ()
1409 if (vr0->kind () == VR_ANTI_RANGE || vr1->kind () == VR_ANTI_RANGE)
1413 if (vr0->kind () == VR_ANTI_RANGE && vr1->kind () == VR_ANTI_RANGE)
1425 if (vr0->kind () == VR_RANGE)
1426 /* To simplify processing, make VR0 the anti-range. */
1427 std::swap (vr0, vr1);
1431 if (compare_values_warnv (vr0->min (), vr1->min (), strict_overflow_p) == 0
1432 && compare_values_warnv (vr0->max (), vr1->max (), strict_overflow_p) == 0)
1443 std::swap (vr0, vr1);
1450 if (compare_values_warnv (vr0->min (), vr0->max (), strict_overflow_p) == 0
1453 int cmp_min = compare_values_warnv (vr0->min (), vr1->min (),
1455 int cmp_max = compare_values_warnv (vr0->max (), vr1->max (),
1463 else if (compare_values_warnv (vr0->min (), vr1->max (),
1465 || compare_values_warnv (vr1->min (), vr0->max (),
1475 /* If VR0 is completely to the left or completely to the right
1480 cmp1 = compare_values_warnv (vr0->max (), vr1->min (), strict_overflow_p);
1481 cmp2 = compare_values_warnv (vr0->min (), vr1->max (), strict_overflow_p);
1485 /* If VR0 and VR1 represent a single value and are identical,
1487 else if (compare_values_warnv (vr0->min (), vr0->max (),
1491 && compare_values_warnv (vr0->min (), vr1->min (),
1493 && compare_values_warnv (vr0->max (), vr1->max (),
1505 /* If VR0 is to the left of VR1, return true. */
1506 tst = compare_values_warnv (vr0->max (), vr1->min (), strict_overflow_p);
1511 /* If VR0 is to the right of VR1, return false. */
1512 tst = compare_values_warnv (vr0->min (), vr1->max (), strict_overflow_p);
1725 value_range maxvr, vr0, vr1;
1727 vr0 = *(query->get_value_range (init, stmt));
1729 vr0.set (init);
1731 vr0.set_varying (TREE_TYPE (init));
1735 TREE_TYPE (init), &vr0, &vr1);
2211 const value_range_equiv *vr0, *vr1;
2212 vr0 = (TREE_CODE (op0) == SSA_NAME) ? query->get_value_range (op0, s) : NULL;
2216 if (vr0 && vr1)
2217 res = compare_ranges (code, vr0, vr1, strict_overflow_p);
2218 if (!res && vr0)
2219 res = compare_range_with_value (code, vr0, op1, strict_overflow_p);
2292 const value_range_equiv *vr0 = query->get_value_range (op0, stmt);
2294 no intersection with *vr0, OP0's known range, then the
2303 vro.intersect (vr0);
2306 vri.intersect (vr0);
2398 const value_range_equiv *vr0 = query->get_value_range (op0, stmt);
2400 if (vr0->varying_p ()
3269 value_range vr0, vr1;
3275 vr0 = *(query->get_value_range (op0, stmt));
3277 vr0.set (op0);
3288 if (!vr_set_zero_nonzero_bits (TREE_TYPE (op0), &vr0, &may_be_nonzero0,