Lines Matching refs:min

129 	      wide_int min, max;  in get_value_range()  local
130 value_range_type rtype = get_range_info (var, &min, &max); in get_value_range()
133 wide_int_to_tree (TREE_TYPE (var), min), in get_value_range()
186 wide_int min, max; in update_value_range() local
187 value_range_type rtype = get_range_info (var, &min, &max); in update_value_range()
191 nr_min = wide_int_to_tree (TREE_TYPE (var), min); in update_value_range()
202 || !vrp_operand_equal_p (old_vr->min, new_vr->min) in update_value_range()
222 set_value_range (old_vr, new_vr->type, new_vr->min, new_vr->max, in update_value_range()
256 if (is_gimple_min_invariant (vr->min)) in symbolic_range_based_on_p()
258 else if (get_single_symbol (vr->min, &neg, &inv) == sym) in symbolic_range_based_on_p()
432 && integer_zerop (vr->min) in op_with_boolean_value_range_p()
445 tree min, max, type; in extract_range_for_var_from_comparison_expr() local
470 && (limit_vr->min == limit_vr->max in extract_range_for_var_from_comparison_expr()
471 || operand_equal_p (limit_vr->min, limit_vr->max, 0))))) in extract_range_for_var_from_comparison_expr()
498 min = fold_build1 (NEGATE_EXPR, TREE_TYPE (TREE_OPERAND (op, 1)), in extract_range_for_var_from_comparison_expr()
500 max = int_const_binop (PLUS_EXPR, limit, min); in extract_range_for_var_from_comparison_expr()
505 min = build_int_cst (TREE_TYPE (var), 0); in extract_range_for_var_from_comparison_expr()
512 min = force_fit_type (TREE_TYPE (var), wi::to_widest (min), 0, false); in extract_range_for_var_from_comparison_expr()
520 min, max, vr_p->equiv); in extract_range_for_var_from_comparison_expr()
523 min, max, vr_p->equiv); in extract_range_for_var_from_comparison_expr()
534 min = limit_vr->min; in extract_range_for_var_from_comparison_expr()
540 min = limit; in extract_range_for_var_from_comparison_expr()
544 set_value_range (vr_p, range_type, min, max, vr_p->equiv); in extract_range_for_var_from_comparison_expr()
576 && compare_values (limit_vr->min, limit_vr->max) == 0) in extract_range_for_var_from_comparison_expr()
578 min = limit_vr->min; in extract_range_for_var_from_comparison_expr()
585 min = max = limit; in extract_range_for_var_from_comparison_expr()
591 && vrp_val_is_min (min) in extract_range_for_var_from_comparison_expr()
593 min = max = limit; in extract_range_for_var_from_comparison_expr()
596 min, max, vr_p->equiv); in extract_range_for_var_from_comparison_expr()
600 min = TYPE_MIN_VALUE (type); in extract_range_for_var_from_comparison_expr()
616 && compare_values (max, min) == 0) in extract_range_for_var_from_comparison_expr()
635 set_value_range (vr_p, VR_RANGE, min, max, vr_p->equiv); in extract_range_for_var_from_comparison_expr()
643 min = limit; in extract_range_for_var_from_comparison_expr()
649 min = limit_vr->min; in extract_range_for_var_from_comparison_expr()
656 && compare_values (min, max) == 0) in extract_range_for_var_from_comparison_expr()
663 if (TYPE_PRECISION (TREE_TYPE (min)) == 1 in extract_range_for_var_from_comparison_expr()
664 && !TYPE_UNSIGNED (TREE_TYPE (min))) in extract_range_for_var_from_comparison_expr()
665 min = fold_build2 (MINUS_EXPR, TREE_TYPE (min), min, in extract_range_for_var_from_comparison_expr()
666 build_int_cst (TREE_TYPE (min), -1)); in extract_range_for_var_from_comparison_expr()
668 min = fold_build2 (PLUS_EXPR, TREE_TYPE (min), min, in extract_range_for_var_from_comparison_expr()
669 build_int_cst (TREE_TYPE (min), 1)); in extract_range_for_var_from_comparison_expr()
671 if (EXPR_P (min)) in extract_range_for_var_from_comparison_expr()
672 TREE_NO_WARNING (min) = 1; in extract_range_for_var_from_comparison_expr()
675 set_value_range (vr_p, VR_RANGE, min, max, vr_p->equiv); in extract_range_for_var_from_comparison_expr()
783 vr0.min = vrp_val_min (expr_type); in extract_range_from_binary_expr()
789 vr1.min = vrp_val_min (expr_type); in extract_range_from_binary_expr()
811 if (is_gimple_min_invariant (minus_p ? vr0.max : vr0.min)) in extract_range_from_binary_expr()
815 else if (is_gimple_min_invariant (minus_p ? vr0.min : vr0.max)) in extract_range_from_binary_expr()
835 if (is_gimple_min_invariant (minus_p ? vr1.max : vr1.min)) in extract_range_from_binary_expr()
839 else if (is_gimple_min_invariant (minus_p ? vr1.min : vr1.max)) in extract_range_from_binary_expr()
857 && vr0.min == op1 in extract_range_from_binary_expr()
858 && vr0.min == vr0.max) in extract_range_from_binary_expr()
860 && vr1.min == op0 in extract_range_from_binary_expr()
861 && vr1.min == vr1.max))) in extract_range_from_binary_expr()
977 || TREE_OVERFLOW (vr0.min) in check_for_binary_op_overflow()
980 vr0.min = vrp_val_min (TREE_TYPE (op0)); in check_for_binary_op_overflow()
984 || TREE_OVERFLOW (vr1.min) in check_for_binary_op_overflow()
987 vr1.min = vrp_val_min (TREE_TYPE (op1)); in check_for_binary_op_overflow()
990 *ovf = arith_overflowed_p (subcode, type, vr0.min, in check_for_binary_op_overflow()
991 subcode == MINUS_EXPR ? vr1.max : vr1.min); in check_for_binary_op_overflow()
993 subcode == MINUS_EXPR ? vr1.min : vr1.max) != *ovf) in check_for_binary_op_overflow()
997 if (arith_overflowed_p (subcode, type, vr0.min, vr1.max) != *ovf in check_for_binary_op_overflow()
998 || arith_overflowed_p (subcode, type, vr0.max, vr1.min) != *ovf) in check_for_binary_op_overflow()
1011 w[0] = wi::to_widest (vr0.min); in check_for_binary_op_overflow()
1013 w[2] = wi::to_widest (vr1.min); in check_for_binary_op_overflow()
1106 && range_includes_zero_p (vr0->min, vr0->max) == 0) in extract_range_basic()
1108 && range_includes_zero_p (vr0->min, vr0->max) == 1)) in extract_range_basic()
1114 && !operand_less_p (vr0->min, in extract_range_basic()
1115 build_zero_cst (TREE_TYPE (vr0->min)))) in extract_range_basic()
1148 && TREE_CODE (vr0->min) == INTEGER_CST) in extract_range_basic()
1150 maxi = prec - 1 - tree_floor_log2 (vr0->min); in extract_range_basic()
1155 && integer_zerop (vr0->min)) in extract_range_basic()
1204 && integer_nonzerop (vr0->min)) in extract_range_basic()
1206 && integer_zerop (vr0->min))) in extract_range_basic()
1302 && (vr->min == vr->max in extract_range_basic()
1303 || operand_equal_p (vr->min, vr->max, 0))) in extract_range_basic()
1499 if (compare_values_warnv (vr0->min, vr1->min, strict_overflow_p) == 0 in compare_ranges()
1518 if (compare_values_warnv (vr0->min, vr0->max, strict_overflow_p) == 0 in compare_ranges()
1519 && compare_values_warnv (vr1->min, vr1->max, strict_overflow_p) == 0) in compare_ranges()
1521 int cmp_min = compare_values_warnv (vr0->min, vr1->min, in compare_ranges()
1531 else if (compare_values_warnv (vr0->min, vr1->max, in compare_ranges()
1533 || compare_values_warnv (vr1->min, vr0->max, in compare_ranges()
1548 cmp1 = compare_values_warnv (vr0->max, vr1->min, strict_overflow_p); in compare_ranges()
1549 cmp2 = compare_values_warnv (vr0->min, vr1->max, strict_overflow_p); in compare_ranges()
1555 else if (compare_values_warnv (vr0->min, vr0->max, in compare_ranges()
1557 && compare_values_warnv (vr1->min, vr1->max, in compare_ranges()
1559 && compare_values_warnv (vr0->min, vr1->min, in compare_ranges()
1574 tst = compare_values_warnv (vr0->max, vr1->min, strict_overflow_p); in compare_ranges()
1580 tst = compare_values_warnv (vr0->min, vr1->max, strict_overflow_p); in compare_ranges()
1619 if (value_inside_range (val, vr->min, vr->max) == 1) in compare_range_with_value()
1629 if (compare_values_warnv (vr->min, vr->max, strict_overflow_p) == 0) in compare_range_with_value()
1631 int cmp = compare_values_warnv (vr->min, val, strict_overflow_p); in compare_range_with_value()
1637 else if (compare_values_warnv (val, vr->min, strict_overflow_p) == -1 in compare_range_with_value()
1647 || compare_values_warnv (vr->min, val, strict_overflow_p) == 1) in compare_range_with_value()
1652 if (compare_values_warnv (vr->min, vr->max, strict_overflow_p) == 0 in compare_range_with_value()
1653 && compare_values_warnv (vr->min, val, strict_overflow_p) == 0) in compare_range_with_value()
1670 tst = compare_values_warnv (vr->min, val, strict_overflow_p); in compare_range_with_value()
1683 tst = compare_values_warnv (vr->min, val, strict_overflow_p); in compare_range_with_value()
1708 tree init, step, chrec, tmin, tmax, min, max, type, tem; in adjust_range_with_scev() local
1814 && compare_values (maxvr.min, initvr.min) != -1) in adjust_range_with_scev()
1819 tmin = maxvr.min; in adjust_range_with_scev()
1828 min = tmin; in adjust_range_with_scev()
1837 min = init; in adjust_range_with_scev()
1841 min = vr->min; in adjust_range_with_scev()
1853 if (compare_values (min, tmin) == -1) in adjust_range_with_scev()
1854 min = tmin; in adjust_range_with_scev()
1860 if (compare_values (init, min) == 1) in adjust_range_with_scev()
1861 min = init; in adjust_range_with_scev()
1874 if (compare_values (min, max) == 1) in adjust_range_with_scev()
1880 if (TREE_OVERFLOW_P (min)) in adjust_range_with_scev()
1881 min = drop_tree_overflow (min); in adjust_range_with_scev()
1885 set_value_range (vr, VR_RANGE, min, max, vr->equiv); in adjust_range_with_scev()
1949 && (TREE_CODE (vr->min) == SSA_NAME in vrp_valueize()
1950 || is_gimple_min_invariant (vr->min)) in vrp_valueize()
1951 && vrp_operand_equal_p (vr->min, vr->max)) in vrp_valueize()
1952 return vr->min; in vrp_valueize()
1974 return vr->min; in vrp_valueize_1()
2060 vr.min = ssa_name (i); in get_vr_for_comparison()
2433 && vrp_val_is_min (vr0->min) in vrp_evaluate_conditional()
2563 tree min = vr->min, max = vr->max; in find_case_label_ranges() local
2567 take_default = !find_case_label_range (stmt, min, max, &i, &j); in find_case_label_ranges()
2591 if (tree_int_cst_compare (case_low, min) < 0) in find_case_label_ranges()
2807 vr_arg.min = NULL_TREE; in extract_range_from_phi_node()
2819 vr_arg.min = arg; in extract_range_from_phi_node()
2831 vr_arg.min = arg; in extract_range_from_phi_node()
2879 int cmp_min = compare_values (lhs_vr->min, vr_result->min); in extract_range_from_phi_node()
2902 vr_result->min = lhs_vr->min; in extract_range_from_phi_node()
2904 && (TREE_CODE (vr_result->min) != INTEGER_CST in extract_range_from_phi_node()
2905 || tree_int_cst_lt (vrp_val_min (TREE_TYPE (vr_result->min)), in extract_range_from_phi_node()
2906 vr_result->min))) in extract_range_from_phi_node()
2907 vr_result->min in extract_range_from_phi_node()
2909 vrp_val_min (TREE_TYPE (vr_result->min)), in extract_range_from_phi_node()
2910 build_int_cst (TREE_TYPE (vr_result->min), 1)); in extract_range_from_phi_node()
2918 vrp_val_max (TREE_TYPE (vr_result->min))))) in extract_range_from_phi_node()
2921 vrp_val_max (TREE_TYPE (vr_result->min)), in extract_range_from_phi_node()
2922 build_int_cst (TREE_TYPE (vr_result->min), 1)); in extract_range_from_phi_node()
2953 && !((vrp_val_is_max (vr_result->max) && vrp_val_is_min (vr_result->min)) in extract_range_from_phi_node()
2954 || compare_values (vr_result->min, vr_result->max) > 0)) in extract_range_from_phi_node()
3066 op0min = vr->min; in simplify_div_or_mod_using_ranges()
3076 op1min = vr1->min; in simplify_div_or_mod_using_ranges()
3362 tree min = NULL; in test_for_singularity() local
3369 min = TYPE_MIN_VALUE (TREE_TYPE (op0)); in test_for_singularity()
3385 min = op1; in test_for_singularity()
3389 min = fold_build2 (PLUS_EXPR, TREE_TYPE (op0), min, one); in test_for_singularity()
3391 if (EXPR_P (min)) in test_for_singularity()
3392 TREE_NO_WARNING (min) = 1; in test_for_singularity()
3398 if (min && max) in test_for_singularity()
3400 if (compare_values (vr->min, min) == 1) in test_for_singularity()
3401 min = vr->min; in test_for_singularity()
3408 if (operand_equal_p (min, max, 0) && is_gimple_min_invariant (min)) in test_for_singularity()
3409 return min; in test_for_singularity()
3426 src_type = TREE_TYPE (vr->min); in range_fits_type_p()
3433 src_precision = TYPE_PRECISION (TREE_TYPE (vr->min)); in range_fits_type_p()
3442 || TREE_CODE (vr->min) != INTEGER_CST in range_fits_type_p()
3451 && (wi::lts_p (wi::to_wide (vr->min), 0) in range_fits_type_p()
3457 tem = wi::ext (wi::to_widest (vr->min), dest_precision, dest_sgn); in range_fits_type_p()
3458 if (tem != wi::to_widest (vr->min)) in range_fits_type_p()
3661 find_case_label_range (stmt, vr->min, vr->max, &min_idx, &max_idx); in simplify_switch_using_ranges()
3669 tree vr_min = fold_convert (case_label_type, vr->min); in simplify_switch_using_ranges()
3885 || TREE_CODE (vr->min) != INTEGER_CST in simplify_float_conversion_using_ranges()
4044 || TREE_CODE (vr->min) != INTEGER_CST in two_valued_val_range_p()
4049 && wi::to_wide (vr->max) - wi::to_wide (vr->min) == 1) in two_valued_val_range_p()
4051 *a = vr->min; in two_valued_val_range_p()
4058 && (wi::to_wide (vr->min) in two_valued_val_range_p()