re PR middle-end/29215 (extra store for memcpy)
authorJakub Jelinek <jakub@redhat.com>
Thu, 20 Nov 2008 21:35:03 +0000 (22:35 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 20 Nov 2008 21:35:03 +0000 (22:35 +0100)
commit81f5094da422fbdf4f76e80f6dbc52df91582a46
tree0cc48991865f78326414c0d9ce7c0db3f4e962e0
parent1fd8faf0599d4054a7a6118c35fc0ef6c2db5e4a
re PR middle-end/29215 (extra store for memcpy)

PR middle-end/29215
* builtins.c (SLOW_UNALIGNED_ACCESS): Define if not defined.
(fold_builtin_memory_op): Handle even the case where just one
of src and dest is an address of a var decl component, using
TYPE_REF_CAN_ALIAS_ALL pointers.  Remove is_gimple_min_invariant
and readonly_data_expr src check.
* tree-ssa-sccvn.c (DFS): Use clear_and_done_ssa_iter to shut
up warnings.

* trans-array.c (trans_array_constructor_value,
gfc_build_constant_array_constructor): Fill in TREE_PURPOSE.

* gfortran.dg/array_memcpy_3.f90: Adjust pattern to match even
memcpy optimized into ref-all store.
* gcc.dg/pr29215.c: New test.

From-SVN: r142061
gcc/ChangeLog
gcc/builtins.c
gcc/fortran/ChangeLog
gcc/fortran/trans-array.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr29215.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/array_memcpy_3.f90
gcc/tree-ssa-sccvn.c