Home | History | Annotate | Download | only in gcc

Lines Matching defs:vr1

830   value_range vr0, vr1;
839 vr1 = *(get_value_range (op1));
841 vr1.set (op1);
843 vr1.set_varying (TREE_TYPE (op1));
850 if (vr0.varying_p () && !vr1.varying_p ())
852 else if (vr1.varying_p () && !vr0.varying_p ())
853 vr1 = value_range (vrp_val_min (expr_type), vrp_val_max (expr_type));
856 range_fold_binary_expr (vr, code, expr_type, &vr0, &vr1);
923 && vr1.kind () == VR_RANGE
924 && symbolic_range_based_on_p (&vr1, op0))
929 /* Try with [-INF, OP0] and VR1. */
930 if (is_gimple_min_invariant (minus_p ? vr1.max () : vr1.min ()))
933 /* Try with [OP0, +INF] and VR1. */
934 else if (is_gimple_min_invariant (minus_p ? vr1.min (): vr1.max ()))
937 /* Try with [OP0, OP0] and VR1. */
941 range_fold_binary_expr (vr, code, expr_type, &n_vr0, &vr1);
954 || (vr1.kind () == VR_ANTI_RANGE
955 && vr1.min () == op0
956 && vr1.min () == vr1.max ())))
1007 const value_range_equiv *vr1 = &tem1;
1009 vr1 = get_value_range (op1);
1017 vr->union_ (vr1);
1063 value_range vr0, vr1;
1072 vr1 = *query->get_value_range (op1, s);
1074 vr1.set (op1);
1076 vr1
1079 tree vr1min = vr1.min (), vr1max = vr1.max ();
1087 if (!range_int_cst_p (&vr1)
1315 value_range_equiv vr0, vr1;
1322 extract_range_from_unary_expr (&vr1, 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
1399 const value_range_equiv *vr1, bool *strict_overflow_p)
1404 || vr1->varying_p ()
1405 || vr1->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)
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);
1451 && compare_values_warnv (vr1->min (), vr1->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 (),
1476 of VR1, they are always different. Notice that we need to
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,
1489 && compare_values_warnv (vr1->min (), vr1->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;
1733 vr1.set (tem, tem);
1735 TREE_TYPE (init), &vr0, &vr1);
2148 const value_range_equiv *vr1 = get_vr_for_comparison (i1, &tem_vr1, s);
2164 t = compare_ranges (comp, vr1, vr2, &sop);
2211 const value_range_equiv *vr0, *vr1;
2213 vr1 = (TREE_CODE (op1) == SSA_NAME) ? query->get_value_range (op1, s) : NULL;
2216 if (vr0 && vr1)
2217 res = compare_ranges (code, vr0, vr1, strict_overflow_p);
2220 if (!res && vr1)
2222 (swap_tree_comparison (code), vr1, op0, strict_overflow_p));
3036 const value_range_equiv *vr1 = query->get_value_range (op1, stmt);
3037 if (range_int_cst_p (vr1))
3038 op1min = vr1->min ();
3269 value_range vr0, vr1;
3282 vr1 = *(query->get_value_range (op1, stmt));
3284 vr1.set (op1);
3291 if (!vr_set_zero_nonzero_bits (TREE_TYPE (op1), &vr1, &may_be_nonzero1,