diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-21 13:06:47 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-21 13:06:47 +0000 |
commit | 2622064fa2e62d2876df99f02f95d1a0c242e76a (patch) | |
tree | 8d66d21b19fad0cdd55951c0f3e46d754b92860e /gcc/calls.c | |
parent | 235b5b0e407cbbadf0f495560d656ab09abdfb13 (diff) | |
download | gcc-2622064fa2e62d2876df99f02f95d1a0c242e76a.tar.gz |
2011-04-21 Richard Guenther <rguenther@suse.de>
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
MEM_REF and TARGET_MEM_REF, do not care about INDIRECT_REFs.
Use DECL_P, not SSA_VAR_P.
(ptr_derefs_may_alias_p): Likewise.
(ptr_deref_may_alias_ref_p_1): Likewise.
(decl_refs_may_alias_p): Likewise.
(refs_may_alias_p_1): Likewise.
(ref_maybe_used_by_call_p_1): Likewise.
(call_may_clobber_ref_p_1): Likewise.
(indirect_ref_may_alias_decl_p): Assume indirect refrences
are either MEM_REF or TARGET_MEM_REF.
(indirect_refs_may_alias_p): Likewise.
* calls.c (emit_call_1): Build a MEM_REF instead of an INDIRECT_REF
for MEM_EXPR of indirect calls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172825 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/calls.c')
-rw-r--r-- | gcc/calls.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index 89b248cef38..bd7c3a67dd5 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -274,7 +274,7 @@ emit_call_1 (rtx funexp, tree fntree ATTRIBUTE_UNUSED, tree fndecl ATTRIBUTE_UNU if (fndecl && TREE_CODE (fndecl) == FUNCTION_DECL) set_mem_expr (funmem, fndecl); else if (fntree) - set_mem_expr (funmem, build_fold_indirect_ref (CALL_EXPR_FN (fntree))); + set_mem_expr (funmem, build_simple_mem_ref (CALL_EXPR_FN (fntree))); #if defined (HAVE_sibcall_pop) && defined (HAVE_sibcall_value_pop) if ((ecf_flags & ECF_SIBCALL) |