summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-dce.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-22 10:46:36 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-22 10:46:36 +0000
commit939514e944196cea250a729607a8ee718957605e (patch)
tree5db992248a216e242d2e9eff0ad5aea9a9f3ebdd /gcc/tree-ssa-dce.c
parentd771c9b2f13fe03b18babb98e060dadb4a0c6e1e (diff)
downloadgcc-939514e944196cea250a729607a8ee718957605e.tar.gz
* tree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for
builtin calls even if likelyvalue is not CONSTANT. Handle BUILT_IN_STRDUP and BUILT_IN_STRNDUP like BUILT_IN_MALLOC. Return get_value_for_expr of first operand for BUILT_IN_{MEM{CPY,MOVE,SET},STR{,N}CPY}{,_CHK}. * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK like their non-checking counterparts. (call_may_clobber_ref_p_1): Likewise. (stmt_kills_ref_p_1): Handle BUILT_IN_MEM{{,P}CPY,MOVE,SET}_CHK like their non-checking counterparts. * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK like their non-checking counterparts. (find_func_clobbers): Likewise. * tree-ssa-dce.c (propagate_necessity): Handle BUILT_IN_MEMSET_CHK like BUILT_IN_MEMSET and BUILT_IN_CALLOC like BUILT_IN_MALLOC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175290 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-dce.c')
-rw-r--r--gcc/tree-ssa-dce.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index 6900ee77e86..a088ef2a56f 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -831,7 +831,9 @@ propagate_necessity (struct edge_list *el)
if (callee != NULL_TREE
&& DECL_BUILT_IN_CLASS (callee) == BUILT_IN_NORMAL
&& (DECL_FUNCTION_CODE (callee) == BUILT_IN_MEMSET
+ || DECL_FUNCTION_CODE (callee) == BUILT_IN_MEMSET_CHK
|| DECL_FUNCTION_CODE (callee) == BUILT_IN_MALLOC
+ || DECL_FUNCTION_CODE (callee) == BUILT_IN_CALLOC
|| DECL_FUNCTION_CODE (callee) == BUILT_IN_FREE
|| DECL_FUNCTION_CODE (callee) == BUILT_IN_ALLOCA
|| DECL_FUNCTION_CODE (callee) == BUILT_IN_STACK_SAVE