aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-alias.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2016-05-12 13:05:13 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2016-05-12 13:05:13 +0000
commit763baff6f54ec6070e0ec6497363f5116ab4c874 (patch)
tree84e63fa7e081279f7a68aca414b7f88e4487c667 /gcc/tree-ssa-alias.h
parentcf48d8c4dc0556d165cd369eb5fa4d77fe823e59 (diff)
downloadgcc-763baff6f54ec6070e0ec6497363f5116ab4c874.zip
gcc-763baff6f54ec6070e0ec6497363f5116ab4c874.tar.gz
gcc-763baff6f54ec6070e0ec6497363f5116ab4c874.tar.bz2
re PR middle-end/71062 (r235622 and restrict pointers)
2016-05-12 Richard Biener <rguenther@suse.de> 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
Diffstat (limited to 'gcc/tree-ssa-alias.h')
-rw-r--r--gcc/tree-ssa-alias.h4
1 files changed, 3 insertions, 1 deletions
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;