diff options
author | Richard Biener <rguenther@suse.de> | 2016-11-02 08:29:48 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-11-02 08:29:48 +0000 |
commit | da42ac7bc51006101e94711e6847f561d7b08005 (patch) | |
tree | e8b272d2021353490d87fd01f485f66e27320dc5 /gcc/tree-ssa-alias.h | |
parent | 3cea049a4fbfd0a81690d12d383d6a27246c98b7 (diff) | |
download | gcc-da42ac7bc51006101e94711e6847f561d7b08005.zip gcc-da42ac7bc51006101e94711e6847f561d7b08005.tar.gz gcc-da42ac7bc51006101e94711e6847f561d7b08005.tar.bz2 |
re PR tree-optimization/78035 (Inconsistency between address comparison and alias analysis)
2016-11-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/78035
PR tree-optimization/77964
* gimple-pretty-print.c (pp_points_to_solution): Print
vars_contains_interposable.
* tree-ssa-alias.c: Include varasm.h.
(ptrs_compare_unequal): Check vars_contains_interposable and
decl_binds_to_current_def_p.
(dump_points_to_solution): Dump vars_contains_interposable.
* tree-ssa-alias.h (struct pt_solution): Add vars_contains_interposable
flag.
* tree-ssa-structalias.c: Include varasm.h.
(set_uids_in_ptset): Record whether vars contains a
not decl_binds_to_current_def_p variable in vars_contains_interposable.
(ipa_escaped_pt): Update initializer.
* gcc.target/i386/pr78035.c: New testcase.
From-SVN: r241776
Diffstat (limited to 'gcc/tree-ssa-alias.h')
-rw-r--r-- | gcc/tree-ssa-alias.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-ssa-alias.h b/gcc/tree-ssa-alias.h index 27a06fc..810d83c 100644 --- a/gcc/tree-ssa-alias.h +++ b/gcc/tree-ssa-alias.h @@ -57,6 +57,8 @@ struct GTY(()) pt_solution /* 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; + /* Nonzero if the vars bitmap includes an interposable variable. */ + unsigned int vars_contains_interposable : 1; /* Set of variables that this pointer may point to. */ bitmap vars; |