Lines Matching refs:sval

96 	sval_t sval;  in handle_address()  local
112 if (get_mtag_sval(expr, &sval)) { in handle_address()
114 *res_sval = sval; in handle_address()
161 sval_t sval = {}; in handle_bitwise_negate() local
163 if (!get_rl_sval(expr->unop, implied, recurse_cnt, &rl, &sval)) in handle_bitwise_negate()
165 if (!sval.type && !rl_to_sval(rl, &sval)) in handle_bitwise_negate()
167 sval = sval_preop(sval, '~'); in handle_bitwise_negate()
168 sval_cast(get_type(expr->unop), sval); in handle_bitwise_negate()
169 *res_sval = sval; in handle_bitwise_negate()
188 sval_t sval = {}; in handle_minus_preop() local
193 if (!get_rl_sval(expr->unop, implied, recurse_cnt, &rl, &sval)) in handle_minus_preop()
195 if (sval.type) { in handle_minus_preop()
196 *res_sval = sval_preop(sval, '-'); in handle_minus_preop()
456 sval_t left, right, sval; in handle_mod_rl() local
463 sval = sval_binop(left, '%', right); in handle_mod_rl()
464 *res = alloc_rl(sval, sval); in handle_mod_rl()
913 sval_t sval; in get_fuzzy_max_helper() local
915 if (get_hard_max(expr, &sval)) { in get_fuzzy_max_helper()
916 *max = sval; in get_fuzzy_max_helper()
930 sval_t sval; in get_fuzzy_min_helper() local
936 sval = estate_min(state); in get_fuzzy_min_helper()
937 if (sval_is_negative(sval) && sval_is_min(sval)) in get_fuzzy_min_helper()
940 if (sval_is_max(sval)) in get_fuzzy_min_helper()
943 *min = sval_cast(get_type(expr), sval); in get_fuzzy_min_helper()
947 int get_const_value(struct expression *expr, sval_t *sval) in get_const_value() argument
958 *sval = sval_cast(get_type(expr), right); in get_const_value()
990 sval_t sval, min, max; in handle_variable() local
993 if (get_const_value(expr, &sval)) { in handle_variable()
994 *res_sval = sval; in handle_variable()
1012 if (get_mtag_sval(expr, &sval)) { in handle_variable()
1013 *res_sval = sval; in handle_variable()
1098 sval = min; in handle_variable()
1100 max = sval; in handle_variable()
1203 sval_t sval; in handle__builtin_choose_expr() local
1209 if (!get_value(const_expr, &sval) || !expr1 || !expr2) in handle__builtin_choose_expr()
1211 if (sval.value) in handle__builtin_choose_expr()
1268 sval_t sval = {}; in handle_cast() local
1271 if (get_rl_sval(expr->cast_expression, implied, recurse_cnt, &rl, &sval)) { in handle_cast()
1272 if (sval.type) in handle_cast()
1273 *res_sval = sval_cast(type, sval); in handle_cast()
1297 sval_t sval = { .type = ssize_t_ctype }; in get_offset_from_down() local
1330 if (get_implied_value_internal(index, recurse_cnt, &sval)) { in get_offset_from_down()
1332 res_sval->value = offset + sval.value * type_bytes(type); in get_offset_from_down()
1347 res_sval->value = offset + sval.value * type_bytes(type); in get_offset_from_down()
1351 sval.value = type_bytes(type); in get_offset_from_down()
1352 rl = rl_binop(rl, '*', alloc_rl(sval, sval)); in get_offset_from_down()
1353 sval.value = offset; in get_offset_from_down()
1354 *res = rl_binop(rl, '+', alloc_rl(sval, sval)); in get_offset_from_down()
1397 sval_t sval = {}; in get_rl_sval() local
1411 handle_cast(expr, implied, recurse_cnt, &rl, &sval); in get_rl_sval()
1421 sval = sval_from_val(expr, expr->value); in get_rl_sval()
1424 sval = sval_from_fval(expr, expr->fvalue); in get_rl_sval()
1427 handle_preop_rl(expr, implied, recurse_cnt, &rl, &sval); in get_rl_sval()
1430 get_rl_sval(expr->unop, implied, recurse_cnt, &rl, &sval); in get_rl_sval()
1433 handle_binop_rl(expr, implied, recurse_cnt, &rl, &sval); in get_rl_sval()
1436 handle_comparison_rl(expr, implied, recurse_cnt, &rl, &sval); in get_rl_sval()
1439 handle_logical_rl(expr, implied, recurse_cnt, &rl, &sval); in get_rl_sval()
1443 sval = handle_sizeof(expr); in get_rl_sval()
1447 handle_conditional_rl(expr, implied, recurse_cnt, &rl, &sval); in get_rl_sval()
1450 handle_call_rl(expr, implied, recurse_cnt, &rl, &sval); in get_rl_sval()
1453 if (get_mtag_sval(expr, &sval)) in get_rl_sval()
1460 handle_offsetof_rl(expr, implied, recurse_cnt, &rl, &sval); in get_rl_sval()
1465 sval = sval_from_val(expr, expr->value); in get_rl_sval()
1468 handle_variable(expr, implied, recurse_cnt, &rl, &sval); in get_rl_sval()
1475 if (sval.type || (rl && rl_to_sval(rl, &sval))) { in get_rl_sval()
1476 *sval_res = sval; in get_rl_sval()
1496 sval_t sval = {}; in get_rl_internal() local
1498 if (!get_rl_sval(expr, implied, recurse_cnt, &rl, &sval)) in get_rl_internal()
1501 if (sval.type) in get_rl_internal()
1502 *res = alloc_rl(sval, sval); in get_rl_internal()
1511 sval_t sval = {}; in get_rl_helper() local
1514 if (get_value(expr, &sval)) { in get_rl_helper()
1515 *res = alloc_rl(sval, sval); in get_rl_helper()
1519 if (!get_rl_sval(expr, implied, &recurse_cnt, &rl, &sval)) in get_rl_helper()
1522 if (sval.type) in get_rl_helper()
1523 *res = alloc_rl(sval, sval); in get_rl_helper()
1531 sval_t sval; member
1571 sval_t sval = {}; in get_value() local
1583 if (cached_results[i].sval.type) { in get_value()
1584 *res_sval = cached_results[i].sval; in get_value()
1593 get_rl_sval(expr, RL_EXACT, &recurse_cnt, NULL, &sval); in get_value()
1598 cached_results[cache_idx].sval = sval; in get_value()
1601 if (!sval.type) in get_value()
1604 *res_sval = sval; in get_value()
1621 int get_implied_value(struct expression *expr, sval_t *sval) in get_implied_value() argument
1626 !rl_to_sval(rl, sval)) in get_implied_value()
1631 int get_implied_value_fast(struct expression *expr, sval_t *sval) in get_implied_value_fast() argument
1643 rl_to_sval(rl, sval)) in get_implied_value_fast()
1651 int get_implied_min(struct expression *expr, sval_t *sval) in get_implied_min() argument
1657 *sval = rl_min(rl); in get_implied_min()
1661 int get_implied_max(struct expression *expr, sval_t *sval) in get_implied_max() argument
1667 *sval = rl_max(rl); in get_implied_max()
1729 int get_hard_max(struct expression *expr, sval_t *sval) in get_hard_max() argument
1735 *sval = rl_max(rl); in get_hard_max()
1739 int get_fuzzy_min(struct expression *expr, sval_t *sval) in get_fuzzy_min() argument
1749 *sval = tmp; in get_fuzzy_min()
1753 int get_fuzzy_max(struct expression *expr, sval_t *sval) in get_fuzzy_max() argument
1763 *sval = max; in get_fuzzy_max()
1767 int get_absolute_min(struct expression *expr, sval_t *sval) in get_absolute_min() argument
1778 *sval = rl_min(rl); in get_absolute_min()
1780 *sval = sval_type_min(type); in get_absolute_min()
1782 if (sval_cmp(*sval, sval_type_min(type)) < 0) in get_absolute_min()
1783 *sval = sval_type_min(type); in get_absolute_min()
1787 int get_absolute_max(struct expression *expr, sval_t *sval) in get_absolute_max() argument
1798 *sval = rl_max(rl); in get_absolute_max()
1800 *sval = sval_type_max(type); in get_absolute_max()
1802 if (sval_cmp(sval_type_max(type), *sval) < 0) in get_absolute_max()
1803 *sval = sval_type_max(type); in get_absolute_max()
1889 sval_t sval; in implied_condition_false() local
1912 if (get_implied_value(expr, &sval) && sval.value == 0) in implied_condition_false()