https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122436
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Here are the functions in fold-const.cc that walk the ssa use-def chain: tree_single_nonnegative_warnv_p/tree_expr_nonnegative_p integer_valued_real_single_p/integer_valued_real_p split_address_to_core_and_offset (might be ok) address_compare (also might be ok) multiple_of_p (looks not to be used by match.pd) --- tree_expr_nonzero_warnv_p is ok, it uses ranger via expr_not_equal_to.
