From 0d3ca08e1e03c5b1259f47dac776d8fb6b1a66bb Mon Sep 17 00:00:00 2001 From: rguenth Date: Fri, 4 Dec 2009 14:42:23 +0000 Subject: [PATCH 1/1] 2009-12-04 Richard Guenther * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle BUILT_IN_MALLOC. (call_may_clobber_ref_p_1): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154979 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/tree-ssa-alias.c | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6a59bd51ae1..6319ca92039 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-12-04 Richard Guenther + + * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle + BUILT_IN_MALLOC. + (call_may_clobber_ref_p_1): Likewise. + 2009-12-04 Matthias Klose John David Anglin diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index e7137087625..cbb43b5bfea 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -963,6 +963,7 @@ ref_maybe_used_by_call_p_1 (gimple call, ao_ref *ref) } /* The following builtins do not read from memory. */ case BUILT_IN_FREE: + case BUILT_IN_MALLOC: case BUILT_IN_MEMSET: case BUILT_IN_FREXP: case BUILT_IN_FREXPF: @@ -1187,6 +1188,10 @@ call_may_clobber_ref_p_1 (gimple call, ao_ref *ref) size); return refs_may_alias_p_1 (&dref, ref, false); } + /* Allocating memory does not have any side-effects apart from + being the definition point for the pointer. */ + case BUILT_IN_MALLOC: + return false; /* Freeing memory kills the pointed-to memory. More importantly the call has to serve as a barrier for moving loads and stores across it. */ -- 2.11.0