[Bug tree-optimization/19633] local address incorrectly thought to escape

cvs-commit at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue Feb 1 20:30:00 GMT 2005


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-02-01 20:30 -------
Subject: Bug 19633

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	dnovillo@gcc.gnu.org	2005-02-01 20:30:08

Modified files:
	gcc            : ChangeLog tree-flow.h tree-ssa-alias.c 
	gcc/testsuite  : ChangeLog 
	gcc/testsuite/gcc.dg: pr19633.c 
Added files:
	gcc/testsuite/gcc.dg: pr19633-1.c 

Log message:
	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.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7365&r2=2.7366
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&r1=2.78&r2=2.79
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-alias.c.diff?cvsroot=gcc&r1=2.67&r2=2.68
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4973&r2=1.4974
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/pr19633-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/pr19633.c.diff?cvsroot=gcc&r1=1.1&r2=1.2



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19633



More information about the Gcc-bugs mailing list