------- Comment #16 from rguenth at gcc dot gnu dot org 2009-06-29 12:23 ------- Subject: Bug 14187
Author: rguenth Date: Mon Jun 29 12:23:21 2009 New Revision: 149048 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149048 Log: 2009-06-29 Richard Guenther <rguent...@suse.de> PR middle-end/14187 * tree-ssa-alias.h (struct pt_solution): Add vars_contains_restrict flag. (pt_solutions_same_restrict_base): Declare. * tree-ssa-structalias.c (struct variable_info): Add is_restrict_var flag. (new_var_info): Initialize is_global_var properly for SSA_NAMEs. (make_constraint_from, make_copy_constraint): Move earlier. (make_constraint_from_heapvar): New function. (make_constraint_from_restrict): Likewise. (handle_lhs_call): Use it. (find_func_aliases): Use it to track conversions to restrict qualified pointers. (struct fieldoff): Add only_restrict_pointers flag. (push_fields_onto_fieldstack): Initialize it. (create_variable_info_for): Track global restrict qualified pointers. (intra_create_variable_infos): Use make_constraint_from_heapvar. Track restrict qualified pointer arguments. (set_uids_in_ptset): Use varinfo is_global_var flag. (find_what_var_points_to): Set the vars_contains_restrict flag. Always create the points-to solution for sets including restrict tags. (pt_solutions_same_restrict_base): New function. * tree-ssa-alias.c (ptr_derefs_may_alias_p): For two restrict qualified pointers use pt_solutions_same_restrict_base as additional source for disambiguation. * gcc.dg/tree-ssa/restrict-1.c: New testcase. * gcc.dg/tree-ssa/restrict-2.c: Likewise. * gcc.dg/tree-ssa/restrict-3.c: Likewise. * gcc.c-torture/execute/20090623-1.c: Likewise. * gcc.dg/tree-ssa/ldist-13.c: Likewise. * gcc.dg/tree-ssa/ldist-14.c: Likewise. Added: trunk/gcc/testsuite/gcc.c-torture/execute/20090623-1.c trunk/gcc/testsuite/gcc.dg/tree-ssa/ldist-13.c trunk/gcc/testsuite/gcc.dg/tree-ssa/ldist-14.c trunk/gcc/testsuite/gcc.dg/tree-ssa/restrict-1.c trunk/gcc/testsuite/gcc.dg/tree-ssa/restrict-2.c trunk/gcc/testsuite/gcc.dg/tree-ssa/restrict-3.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-alias.c trunk/gcc/tree-ssa-alias.h trunk/gcc/tree-ssa-structalias.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14187