re PR target/47025 (Dead stores in variadic functions not eliminated)
authorRichard Guenther <rguenther@suse.de>
Tue, 6 Sep 2011 15:56:20 +0000 (15:56 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 6 Sep 2011 15:56:20 +0000 (15:56 +0000)
commitdf2f61000e93a5c300703c9f23af007c0621693f
treefbde3337b79e868502c2f6f97441b602320dba10
parente972fd5281b7268411de938719ce150944100105
re PR target/47025 (Dead stores in variadic functions not eliminated)

2011-09-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/47025
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): BUILT_IN_VA_END
uses nothing.
(call_may_clobber_ref_p_1): BUILT_IN_VA_END is a barrier like
BUILT_IN_FREE.
(stmt_kills_ref_p_1): BUILT_IN_VA_END kills what its argument
definitely points to.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
BUILT_IN_VA_START doesn't let its va_list argument escape.
* tree-ssa-dce.c (propagate_necessity): BUILT_IN_VA_END does
not make any previous stores necessary.

From-SVN: r178601
gcc/ChangeLog
gcc/tree-ssa-alias.c
gcc/tree-ssa-dce.c
gcc/tree-ssa-structalias.c