From 763baff6f54ec6070e0ec6497363f5116ab4c874 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 12 May 2016 13:05:13 +0000 Subject: re PR middle-end/71062 (r235622 and restrict pointers) 2016-05-12 Richard Biener PR tree-optimization/71062 * tree-ssa-alias.h (struct pt_solution): Add vars_contains_restrict field. * tree-ssa-structalias.c (set_uids_in_ptset): Set vars_contains_restrict if the var is a restrict tag. * tree-ssa-alias.c (ptrs_compare_unequal): If vars_contains_restrict do not disambiguate pointers against it. (dump_points_to_solution): Re-structure and adjust for new vars_contains_restrict flag. * gimple-pretty-print.c (pp_points_to_solution): Likewise. * gcc.dg/torture/pr71062.c: New testcase. From-SVN: r236174 --- gcc/tree-ssa-alias.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gcc/tree-ssa-alias.h') diff --git a/gcc/tree-ssa-alias.h b/gcc/tree-ssa-alias.h index 0593b05..6680cc0 100644 --- a/gcc/tree-ssa-alias.h +++ b/gcc/tree-ssa-alias.h @@ -47,7 +47,6 @@ struct GTY(()) pt_solution includes memory at address NULL. */ unsigned int null : 1; - /* Nonzero if the vars bitmap includes a variable included in 'nonlocal'. */ unsigned int vars_contains_nonlocal : 1; /* Nonzero if the vars bitmap includes a variable included in 'escaped'. */ @@ -55,6 +54,9 @@ struct GTY(()) pt_solution /* Nonzero if the vars bitmap includes a anonymous heap variable that escaped the function and thus became global. */ unsigned int vars_contains_escaped_heap : 1; + /* Nonzero if the vars bitmap includes a anonymous variable used to + represent storage pointed to by a restrict qualified pointer. */ + unsigned int vars_contains_restrict : 1; /* Set of variables that this pointer may point to. */ bitmap vars; -- cgit v1.1