https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88367

--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Thu Dec  6 23:28:04 2018
New Revision: 266878

URL: https://gcc.gnu.org/viewcvs?rev=266878&root=gcc&view=rev
Log:
        PR c/88367
        * tree-vrp.c (extract_range_from_binary_expr): For POINTER_PLUS_EXPR
        with -fno-delete-null-pointer-checks, set_nonnull only if the pointer
        is non-NULL and offset is known to have most significant bit clear.
        * vr-values.c (vr_values::vrp_stmt_computes_nonzero): For ADDR_EXPR
        of MEM_EXPR, return true if the MEM_EXPR has non-zero offset with
        most significant bit clear.  If offset does have most significant bit
        set and -fno-delete-null-pointer-checks, don't return true even if
        the base pointer is non-NULL.

        * gcc.dg/tree-ssa/pr88367.c: New test.

Added:
    trunk/gcc/testsuite/gcc.dg/tree-ssa/pr88367.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-vrp.c
    trunk/gcc/vr-values.c

Reply via email to