[Bug tree-optimization/88367] [9 Regression] -fno-delete-null-pointer-checks doesn't work properly
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Dec 6 23:28:00 GMT 2018
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
More information about the Gcc-bugs
mailing list