diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2007-06-12 20:25:23 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2007-06-12 20:25:23 +0000 |
commit | 773a78612016aafd567920f86a36f28703d56674 (patch) | |
tree | 8ad49bdd18bc88a9bb08e0ffa6a51811c14ec4d4 /gcc | |
parent | 4543943ad4323c336993836933f7011c295fd50f (diff) | |
download | gcc-773a78612016aafd567920f86a36f28703d56674.zip gcc-773a78612016aafd567920f86a36f28703d56674.tar.gz gcc-773a78612016aafd567920f86a36f28703d56674.tar.bz2 |
tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything flag on ref-all pointers.
* tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything
flag on ref-all pointers.
From-SVN: r125656
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-ssa-alias.c | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e5a53a2..b46c15e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-06-12 Eric Botcazou <ebotcazou@adacore.com> + + * tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything + flag on ref-all pointers. + 2007-06-12 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/31579 diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index cf5dc2b..31911e6 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -2415,8 +2415,14 @@ finalize_ref_all_pointers (struct alias_info *ai) for (i = 0; i < ai->num_pointers; i++) { tree ptr = ai->pointers[i]->var, tag; + /* Avoid adding to self and clean up. */ if (PTR_IS_REF_ALL (ptr)) - continue; + { + struct ptr_info_def *pi = get_ptr_info (ptr); + if (pi->is_dereferenced) + pi->pt_anything = 0; + continue; + } tag = symbol_mem_tag (ptr); if (is_call_clobbered (tag)) add_may_alias (ai->ref_all_symbol_mem_tag, tag); |