PR tree-optimization/19633
commit1e1a4c8c01aaeaeab9ebfb0dcf901542f968339c
authordnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Feb 2005 20:30:07 +0000 (1 20:30 +0000)
committerdnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Feb 2005 20:30:07 +0000 (1 20:30 +0000)
tree87292513a1b836b5850299e91904214e71fb9556
parent06c1e1603fb0591f620322f6205c60ea8112282e
PR tree-optimization/19633
* tree-flow.h (struct ptr_info_def): Add field 'pt_null'.
* tree-ssa-alias.c (init_alias_info): Initialize.
(merge_pointed_to_info): Set.
(add_pointed_to_expr): Set pt_null if EXPR is a NULL pointer.
(dump_points_to_info_for): Show value of pt_null.
(struct count_ptr_d): Declare.
(find_ptr_dereference): Remove.
(ptr_is_dereferenced_by): Remove.
(count_ptr_derefs): New local function.
(count_uses_and_derefs): New local function.
(compute_points_to_and_addr_escape): Call it.  If the number
of dereferences is greater than zero, mark the pointer as
dereferenced.  If there are fewer dereferences than uses of
the pointer, the pointer's value escapes.

testsuite/ChangeLog

PR tree-optimization/19633
* testsuite/gcc.dg/pr19633-1.c: New test.
* testsuite/gcc.dg/pr19633.c: Tweak to make pointer point
to NULL or a symbol.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94558 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr19633-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr19633.c
gcc/tree-flow.h
gcc/tree-ssa-alias.c