From: ebotcazou Date: Tue, 12 Jun 2007 20:25:23 +0000 (+0000) Subject: * tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=eef5001a90f3d912c952d22764764b0938d55ef1;p=pf3gnuchains%2Fgcc-fork.git * tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything flag on ref-all pointers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125656 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e5a53a2ebe4..b46c15ee790 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-06-12 Eric Botcazou + + * tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything + flag on ref-all pointers. + 2007-06-12 Andrew Pinski PR middle-end/31579 diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index cf5dc2b45e7..31911e68ef4 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);