Lines Matching refs:umin_value
2076 reg->umin_value = imm; in ___mark_reg_known()
2228 reg->umin_value = 0; in __mark_reg_unbounded()
2241 reg->umin_value = 0; in __mark_reg64_unbounded()
2276 reg->umin_value = max(reg->umin_value, reg->var_off.value); in __update_reg64_bounds()
2311 if ((reg->umin_value >> 32) == (reg->umax_value >> 32)) { in __reg32_deduce_bounds()
2315 reg->u32_min_value = max_t(u32, reg->u32_min_value, (u32)reg->umin_value); in __reg32_deduce_bounds()
2318 if ((s32)reg->umin_value <= (s32)reg->umax_value) { in __reg32_deduce_bounds()
2319 reg->s32_min_value = max_t(s32, reg->s32_min_value, (s32)reg->umin_value); in __reg32_deduce_bounds()
2348 if ((u32)(reg->umin_value >> 32) + 1 == (u32)(reg->umax_value >> 32) && in __reg32_deduce_bounds()
2349 (s32)reg->umin_value < 0 && (s32)reg->umax_value >= 0) { in __reg32_deduce_bounds()
2350 reg->s32_min_value = max_t(s32, reg->s32_min_value, (s32)reg->umin_value); in __reg32_deduce_bounds()
2444 if ((s64)reg->umin_value <= (s64)reg->umax_value) { in __reg64_deduce_bounds()
2445 reg->smin_value = max_t(s64, reg->smin_value, reg->umin_value); in __reg64_deduce_bounds()
2453 reg->umin_value = max_t(u64, reg->smin_value, reg->umin_value); in __reg64_deduce_bounds()
2476 new_umin = (reg->umin_value & ~0xffffffffULL) | reg->u32_min_value; in __reg_deduce_mixed_bounds()
2478 reg->umin_value = max_t(u64, reg->umin_value, new_umin); in __reg_deduce_mixed_bounds()
2489 new_umin = (reg->umin_value & ~0xffffffffULL) | (u32)reg->s32_min_value; in __reg_deduce_mixed_bounds()
2491 reg->umin_value = max_t(u64, reg->umin_value, new_umin); in __reg_deduce_mixed_bounds()
2532 reg->umin_value = reg->s32_min_value; in __reg_deduce_mixed_bounds()
2550 tnum_range(reg->umin_value, in __reg_bound_offset()
2580 if (reg->umin_value > reg->umax_value || in reg_bounds_sanity_check()
2592 if (reg->umin_value != uval || reg->umax_value != uval || in reg_bounds_sanity_check()
2614 ctx, msg, reg->umin_value, reg->umax_value, in reg_bounds_sanity_check()
2632 reg->umin_value = reg->u32_min_value; in __reg_assign_32_into_64()
6765 if ((reg->umin_value & ~mask) == (reg->umax_value & ~mask)) { in coerce_reg_to_size()
6766 reg->umin_value &= mask; in coerce_reg_to_size()
6769 reg->umin_value = 0; in coerce_reg_to_size()
6772 reg->smin_value = reg->umin_value; in coerce_reg_to_size()
6798 reg->umin_value = reg->u32_min_value = 0; in set_sext64_default_val()
6822 reg->umax_value = reg->umin_value = u64_cval; in coerce_reg_to_size_sx()
6853 reg->u32_min_value = reg->umin_value = s64_min; in coerce_reg_to_size_sx()
8170 if (reg->umin_value == 0 && !zero_size_allowed) { in check_mem_size_reg()
8172 regno, reg->umin_value, reg->umax_value); in check_mem_size_reg()
10950 ret_reg->umin_value = 0; in do_refine_retval_range()
14292 u64 umin_val = off_reg->umin_value, umax_val = off_reg->umax_value, in adjust_ptr_min_max_vals()
14293 umin_ptr = ptr_reg->umin_value, umax_ptr = ptr_reg->umax_value; in adjust_ptr_min_max_vals()
14388 dst_reg->umin_value = umin_ptr; in adjust_ptr_min_max_vals()
14409 if (check_add_overflow(umin_ptr, umin_val, &dst_reg->umin_value) || in adjust_ptr_min_max_vals()
14411 dst_reg->umin_value = 0; in adjust_ptr_min_max_vals()
14444 dst_reg->umin_value = umin_ptr; in adjust_ptr_min_max_vals()
14463 dst_reg->umin_value = 0; in adjust_ptr_min_max_vals()
14467 dst_reg->umin_value = umin_ptr - umax_val; in adjust_ptr_min_max_vals()
14534 u64 *dst_umin = &dst_reg->umin_value; in scalar_min_max_add()
14542 if (check_add_overflow(*dst_umin, src_reg->umin_value, dst_umin) || in scalar_min_max_add()
14579 u64 umin_val = src_reg->umin_value; in scalar_min_max_sub()
14588 if (dst_reg->umin_value < umax_val) { in scalar_min_max_sub()
14590 dst_reg->umin_value = 0; in scalar_min_max_sub()
14594 dst_reg->umin_value -= umax_val; in scalar_min_max_sub()
14632 u64 *dst_umin = &dst_reg->umin_value; in scalar_min_max_mul()
14637 check_mul_overflow(*dst_umin, src_reg->umin_value, dst_umin)) { in scalar_min_max_mul()
14701 dst_reg->umin_value = dst_reg->var_off.value; in scalar_min_max_and()
14707 if ((s64)dst_reg->umin_value <= (s64)dst_reg->umax_value) { in scalar_min_max_and()
14708 dst_reg->smin_value = dst_reg->umin_value; in scalar_min_max_and()
14754 u64 umin_val = src_reg->umin_value; in scalar_min_max_or()
14764 dst_reg->umin_value = max(dst_reg->umin_value, umin_val); in scalar_min_max_or()
14770 if ((s64)dst_reg->umin_value <= (s64)dst_reg->umax_value) { in scalar_min_max_or()
14771 dst_reg->smin_value = dst_reg->umin_value; in scalar_min_max_or()
14822 dst_reg->umin_value = dst_reg->var_off.value; in scalar_min_max_xor()
14828 if ((s64)dst_reg->umin_value <= (s64)dst_reg->umax_value) { in scalar_min_max_xor()
14829 dst_reg->smin_value = dst_reg->umin_value; in scalar_min_max_xor()
14897 dst_reg->umin_value = 0; in __scalar64_min_max_lsh()
14900 dst_reg->umin_value <<= umin_val; in __scalar64_min_max_lsh()
14909 u64 umin_val = src_reg->umin_value; in scalar_min_max_lsh()
14956 u64 umin_val = src_reg->umin_value; in scalar_min_max_rsh()
14975 dst_reg->umin_value >>= umax_val; in scalar_min_max_rsh()
15012 u64 umin_val = src_reg->umin_value; in scalar_min_max_arsh()
15025 dst_reg->umin_value = 0; in scalar_min_max_arsh()
15050 && src_reg->umin_value == src_reg->umax_value) in is_safe_to_compute_dst_reg_range()
15638 u64 umin1 = is_jmp32 ? (u64)reg1->u32_min_value : reg1->umin_value; in is_scalar_branch_taken()
15642 u64 umin2 = is_jmp32 ? (u64)reg2->u32_min_value : reg2->umin_value; in is_scalar_branch_taken()
15932 reg1->umin_value = max(reg1->umin_value, reg2->umin_value); in regs_refine_cond_op()
15936 reg2->umin_value = reg1->umin_value; in regs_refine_cond_op()
15974 if (reg1->umin_value == (u64)val) in regs_refine_cond_op()
15975 reg1->umin_value++; in regs_refine_cond_op()
16028 reg2->umin_value = max(reg1->umin_value, reg2->umin_value); in regs_refine_cond_op()
16037 reg2->umin_value = max(reg1->umin_value + 1, reg2->umin_value); in regs_refine_cond_op()
18135 return old->umin_value <= cur->umin_value && in range_within()