From da42ac7bc51006101e94711e6847f561d7b08005 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 2 Nov 2016 08:29:48 +0000 Subject: re PR tree-optimization/78035 (Inconsistency between address comparison and alias analysis) 2016-11-02 Richard Biener 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 --- gcc/tree-ssa-alias.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/tree-ssa-alias.h') 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; -- cgit v1.1