gcc/cygwin-gcc.git
12 years ago2010-06-30 Richard Guenther <rguenther@suse.de>heads/mem-ref2
rguenth [Wed, 30 Jun 2010 20:05:04 +0000 (30 20:05 +0000)]
2010-06-30  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r161633.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161638 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-30 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 30 Jun 2010 12:33:30 +0000 (30 12:33 +0000)]
2010-06-30  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r161597.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161601 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-29 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 29 Jun 2010 10:27:41 +0000 (29 10:27 +0000)]
2010-06-29  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r161522.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161526 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-28 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 28 Jun 2010 15:47:46 +0000 (28 15:47 +0000)]
2010-06-28  Richard Guenther  <rguenther@suse.de>

        * doc/generic.texi (References to storage): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161499 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-28 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 28 Jun 2010 12:55:01 +0000 (28 12:55 +0000)]
2010-06-28  Richard Guenther  <rguenther@suse.de>

* doc/generic.texi (References to storage): Document MEM_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161489 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-28 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 28 Jun 2010 12:53:25 +0000 (28 12:53 +0000)]
2010-06-28  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r161484.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161488 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 25 Jun 2010 14:34:48 +0000 (25 14:34 +0000)]
2010-06-25  Richard Guenther  <rguenther@suse.de>

* config/i386/i386.c (ix86_canonical_va_list_type): Replace
INDIRECT_REF handling with MEM_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161387 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 25 Jun 2010 14:33:54 +0000 (25 14:33 +0000)]
2010-06-25  Richard Guenther  <rguenther@suse.de>

* cfgexpand.c (expand_debug_expr): Revert change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161386 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 25 Jun 2010 14:32:42 +0000 (25 14:32 +0000)]
2010-06-25  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (verify_address): New function, split out from ...
(verify_expr): ... here.  Use for verifying ADDR_EXPRs and
the address operand of MEM_REFs.  Reject INDIRECT_REFs.
(verify_types_in_gimple_min_lval): Replace commented code
with a comment.
(verify_types_in_gimple_reference): Adjust MEM_REF verifying.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161385 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 25 Jun 2010 13:03:28 +0000 (25 13:03 +0000)]
2010-06-25  Richard Guenther  <rguenther@suse.de>

* config/alpha/alpha.c (alpha_stdarg_optimize_hook): Adjust
for MEM_REF.
* config/rs6000/rs6000.c (rs6000_check_sdmode): Likewise.
* config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise.
* config/spu/spu.c (spu_gimplify_va_arg_expr): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161379 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 25 Jun 2010 12:29:48 +0000 (25 12:29 +0000)]
2010-06-25  Richard Guenther  <rguenther@suse.de>

* gcc.dg/tree-ssa/loadpre6.c: Adjust for PR44656.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161376 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 25 Jun 2010 10:03:38 +0000 (25 10:03 +0000)]
2010-06-25  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r161367.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161369 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-25 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 25 Jun 2010 09:26:34 +0000 (25 09:26 +0000)]
2010-06-25  Richard Guenther  <rguenther@suse.de>

* tree-affine.c (tree_to_aff_combination): Handle MEM_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161367 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-24 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 24 Jun 2010 15:06:17 +0000 (24 15:06 +0000)]
2010-06-24  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
type-based disambiguation of decl vs. pointer.

* gcc.dg/tree-ssa/20030807-7.c: XFAIL again.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161323 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-24 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 24 Jun 2010 14:50:18 +0000 (24 14:50 +0000)]
2010-06-24  Richard Guenther  <rguenther@suse.de>

* tree-complex.c (extract_component): Do not handle INDIRECT_REF.
* tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
* tree-ssa-structalias.c (get_constraint_for_1): Likewise.
* tree-ssa-operands.c (get_expr_operands): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161322 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-24 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 24 Jun 2010 09:38:52 +0000 (24 09:38 +0000)]
2010-06-24  Richard Guenther  <rguenther@suse.de>

* tree-ssa-ccp.c (ccp_fold): Do not bother about volatile
qualifiers of pointers.
* tree.def (MEM_REF): Clarify.
* gimple-fold.c (maybe_fold_stmt_indirect): Remove.
(maybe_fold_reference): Remove INDIRECT_REF handling.
Constrain folding back to non-MEM_REF properly.

        testsuite/
* gcc.dg/tree-ssa/ssa-ccp-25.c: Adjust.
* gcc.dg/tree-ssa/ssa-ccp-26.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161312 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-23 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 23 Jun 2010 15:37:43 +0000 (23 15:37 +0000)]
2010-06-23  Richard Guenther  <rguenther@suse.de>

* tree-ssa-ter.c (find_replaceable_in_bb): Avoid TER if that
creates assignments with overlap.
* tree-ssa.c (maybe_rewrite_mem_ref_base): New function
split out from ...
(execute_update_addresses_taken): ... here.  Also rewrite
MEM_REFs in asm operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161282 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-22 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 22 Jun 2010 15:17:07 +0000 (22 15:17 +0000)]
2010-06-22  Richard Guenther  <rguenther@suse.de>

* tree-ssa-sccvn.c (may_insert): Remove.
(copy_reference_ops_from_ref): Do not set constant offset
for MISALIGNED_INDIRECT_REF.  Remove old union trick.
(ao_ref_init_from_vn_reference): Likewise.  Properly handle
type-based aliasing for MEM_REFs and handle ADDR_EXPR operands
for MEM_REFs.
(valueize_refs): Re-evaluate constant offset for ARRAY_REFs.
(visit_reference_op_load): Do not test may_insert.
(run_scc_vn): Remove parameter, do not fiddle with may_insert.
* tree-ssa-pre.c (phi_translate_1): Re-evaluate constant offset
for ARRAY_REFs.  Properly handle reference lookups that
require a bit re-interpretation.
(create_expression_by_pieces): Do not test in_fre but
availability of the NEW set.
(execute_pre): Adjust for changed run_scc_vn signature.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161190 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-22 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 22 Jun 2010 13:20:38 +0000 (22 13:20 +0000)]
2010-06-22  Richard Guenther  <rguenther@suse.de>

* gimple.h (maybe_fold_offset_to_reference): Re-export.
* gimple-fold.c (maybe_fold_offset_to_reference): Re-export.
Use types_compatible_p for type comparison.
* tree-inline.c (remap_gimple_op_r): Try to recover array-refs.

testsuite/
* gcc.dg/pr36902.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161182 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-21 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 21 Jun 2010 15:13:30 +0000 (21 15:13 +0000)]
2010-06-21  Richard Guenther  <rguenther@suse.de>

testsuite/
* gcc.dg/tree-ssa/ssa-ccp-23.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161086 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-21 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 21 Jun 2010 14:16:20 +0000 (21 14:16 +0000)]
2010-06-21  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r161070.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161080 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-21 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 21 Jun 2010 12:45:13 +0000 (21 12:45 +0000)]
2010-06-21  Richard Guenther  <rguenther@suse.de>

* gimple-fold.c (maybe_fold_stmt_addition): Also handle
&ARRAY + I in addition to &ARRAY[0] + I.
* tree-ssa-forwprop.c
(forward_propagate_addr_into_variable_array_index): Likewise.

        testsuite/
* gcc.dg/tree-ssa/forwprop-1.c: Adjust.
* gcc.dg/tree-ssa/forwprop-2.c: Likewise.
* g++.dg/tree-ssa/pr31146.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161070 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-21 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 21 Jun 2010 11:18:26 +0000 (21 11:18 +0000)]
2010-06-21  Richard Guenther  <rguenther@suse.de>

PR middle-end/42834
* builtins.c (fold_builtin_memory_op): Use ref-all types
for all memcpy foldings.
* expr.c (store_expr): Handle MEM_REFs from STRING_CSTs.

        testsuite/
* c-c++-common/torture/pr42834.c: New testcase.
* gcc.dg/tree-prof/stringop-1.c: Adjust.
* gfortran.dg/array_memcpy_3.f90: Likewise.
* gfortran.dg/array_memcpy_4.f90: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161067 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-20 Richard Guenther <rguenther@suse.de>
rguenth [Sun, 20 Jun 2010 20:48:24 +0000 (20 20:48 +0000)]
2010-06-20  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (ao_ref_base_alias_set): Properly differentiate
base object for offset and TBAA.
(indirect_ref_may_alias_decl_p): Add tbaa_p parameter and test it.
(indirect_refs_may_alias_p): Likewise.
(refs_may_alias_p_1): Use ao_ref_base_alias_set for the
pointer-vs-decl case.
* alias.c (ao_ref_from_mem): Do not set base_alias_set here.
(get_alias_set): Split MEM_REF and INDIRECT_REF case again
and fix MEM_REF case.
* tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Init
base_alias_set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161052 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-20 Richard Guenther <rguenther@suse.de>
rguenth [Sun, 20 Jun 2010 17:37:01 +0000 (20 17:37 +0000)]
2010-06-20  Richard Guenther  <rguenther@suse.de>

* tree-ssa-sccvn.c (vn_reference_fold_indirect): Adjust
constant offset.
* tree-data-ref.c (dr_analyze_innermost): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161049 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-19 Richard Guenther <rguenther@suse.de>
rguenth [Sat, 19 Jun 2010 17:51:23 +0000 (19 17:51 +0000)]
2010-06-19  Richard Guenther  <rguenther@suse.de>

* gimple-fold.c (maybe_fold_offset_to_array_ref): Allow
possibly out-of bounds accesses if the array has just
one dimension.  Remove always true parameter.
(maybe_fold_offset_to_reference): Update caller.
(maybe_fold_offset_to_address): Likewise.
(maybe_fold_stmt_addition): Likewise.
* tree-object-size.c (plus_stmt_object_size): Handle MEM_REF.
(collect_object_sizes_for): Dispatch to plus_stmt_object_size
for &MEM_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161033 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-19 Richard Guenther <rguenther@suse.de>
rguenth [Sat, 19 Jun 2010 16:37:27 +0000 (19 16:37 +0000)]
2010-06-19  Richard Guenther  <rguenther@suse.de>

* gimple-fold.c (maybe_fold_offset_to_array_ref): Do not
require type compatibility here.
(maybe_fold_offset_to_reference): But check it here.
(maybe_fold_offset_to_address): And here.
(maybe_fold_stmt_addition): And here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161032 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-19 Richard Guenther <rguenther@suse.de>
rguenth [Sat, 19 Jun 2010 14:17:24 +0000 (19 14:17 +0000)]
2010-06-19  Richard Guenther  <rguenther@suse.de>

* gimple.h (maybe_fold_offset_to_reference): Remove.
* gimple-fold.c (maybe_fold_offset_to_component_ref): Remove.
(maybe_fold_offset_to_reference): Simplify.
(maybe_fold_offset_to_address): Likewise.
(maybe_fold_stmt_indirect): Adjust comments.
(maybe_fold_stmt_addition): Simplify.
* tree-sra.c (build_ref_for_offset, build_ref_for_offset_1):
Adjust comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161027 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-19 Richard Guenther <rguenther@suse.de>
rguenth [Sat, 19 Jun 2010 14:08:59 +0000 (19 14:08 +0000)]
2010-06-19  Richard Guenther  <rguenther@suse.de>

* doc/gimple.texi (is_gimple_mem_ref_addr): Document.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161026 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-19 Richard Guenther <rguenther@suse.de>
rguenth [Sat, 19 Jun 2010 11:11:22 +0000 (19 11:11 +0000)]
2010-06-19  Richard Guenther  <rguenther@suse.de>

* expr.c (expand_expr_real_1): Expand all non-MEM MEM_REFs
via the bitfield path.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@161025 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-18 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 18 Jun 2010 13:35:08 +0000 (18 13:35 +0000)]
2010-06-18  Richard Guenther  <rguenther@suse.de>

* tree-ssa.c (execute_update_addresses_taken): Fixup test
for partial accesses on the RHS.
* tree-cfg.c (verify_types_in_gimple_reference): Verify
that VIEW_CONVERT_EXPR of registers have matching size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160990 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-18 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 18 Jun 2010 10:31:55 +0000 (18 10:31 +0000)]
2010-06-18  Richard Guenther  <rguenther@suse.de>

* tree-ssa-loop-niter.c (array_at_struct_end_p): Handle MEM_REF.
* tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Do not
handle INDIRECT_REF.
* expr.c (get_inner_reference): Cleanup.
* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
not handle INDIRECT_REF.
* tree-ssa-phiopt.c: Replace INDIRECT_REF with MEM_REF in comments.
* tree-dfa.c (get_ref_base_and_extent): Cleanup.
* tree-ssa-pre.c (can_PRE_operation): Do not handle INDIRECT_REF.
Handle MEM_REF.
(create_component_ref_by_pieces_1): Do not handle INDIRECT_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160977 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-17 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 17 Jun 2010 15:39:42 +0000 (17 15:39 +0000)]
2010-06-17  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also
forward-propagate into plain MEM_REFs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160927 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-17 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 17 Jun 2010 15:36:41 +0000 (17 15:36 +0000)]
2010-06-17  Richard Guenther  <rguenther@suse.de>

* tree-inline.c (remap_gimple_op_r): Simplify ADDR_EXPR case.
(copy_tree_body_r): Handle MEM_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160926 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-17 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 17 Jun 2010 14:32:11 +0000 (17 14:32 +0000)]
2010-06-17  Richard Guenther  <rguenther@suse.de>

* tree-flow.h (get_addr_base_and_offset): Rename to ...
(get_addr_base_and_unit_offset): ... this.
* tree-dfa.c (get_addr_base_and_offset): Rename to ...
(get_addr_base_and_unit_offset): ... this.  Rewrite.
* tree.c (build_simple_mem_ref_loc): Adjust.
* fold-const.c: Include tree-flow.h.
(fold_binary_loc): Adjust.
* tree-ssa-sccvn.c (vn_reference_fold_indirect): Adjust.
* expr.c (expand_expr_real_1): Adjust.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Adjust.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Adjust.
* Makefile.in (tree-dfa.o): Add $(TOPLEV_H).
(fold-const.o): Add $(TREE_FLOW_H).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160920 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-17 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 17 Jun 2010 14:24:30 +0000 (17 14:24 +0000)]
2010-06-17  Richard Guenther  <rguenther@suse.de>

* tree-ssa-loop-im.c (ref_always_accessed_p): Handle MEM_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160918 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-16 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 16 Jun 2010 21:39:54 +0000 (16 21:39 +0000)]
2010-06-16  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r160861.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160862 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-16 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 16 Jun 2010 21:30:27 +0000 (16 21:30 +0000)]
2010-06-16  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (check_array_ref): Handle MEM_REF.
(search_for_addr_array): Likewise.
(check_array_bounds): Likewise.

2010-06-16  Richard Guenther  <rguenther@suse.de>

* tree-ssa.c (warn_uninitialized_var): Handle MEM_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160861 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-16 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 16 Jun 2010 15:43:36 +0000 (16 15:43 +0000)]
2010-06-16  Richard Guenther  <rguenther@suse.de>

* gimple-fold.c (gimple_get_relevant_ref_binfo): Handle
MEM_REF.
* ipa-prop.c (compute_complex_assign_jump_func): Likewise.
(compute_complex_ancestor_jump_func): Likewise.
(ipa_analyze_virtual_call_uses): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160840 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-16 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 16 Jun 2010 15:01:54 +0000 (16 15:01 +0000)]
2010-06-16  Richard Guenther  <rguenther@suse.de>

* gcc.dg/tree-ssa/forwprop-8.c: Adjust.
* gcc.dg/tree-ssa/ssa-ccp-21.c: Likewise.
* gcc.dg/tree-ssa/forwprop-10.c: Likewise.
* g++.dg/tree-ssa/pr33604.C: Likewise.
* gcc.dg/tree-ssa/foldaddr-2.c: Remove.
* gcc.dg/tree-ssa/foldaddr-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160837 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-16 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 16 Jun 2010 13:41:05 +0000 (16 13:41 +0000)]
2010-06-16  Richard Guenther  <rguenther@suse.de>

* tree-ssa-pre.c (phi_translate_1): Fold MEM_REFs.
* tree-ssa-sccvn.c (vn_reference_fold_indirect): Adjust
for MEM_REFs.
(valueize_refs): Fold MEM_REFs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160835 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-16 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 16 Jun 2010 11:44:03 +0000 (16 11:44 +0000)]
2010-06-16  Richard Guenther  <rguenther@suse.de>

* alias.c (get_alias_set): Properly handle VIEW_CONVERT_EXPRs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160829 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-16 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 16 Jun 2010 09:51:33 +0000 (16 09:51 +0000)]
2010-06-16  Richard Guenther  <rguenther@suse.de>

* gcc.dg/tree-ssa/pr17141-1.c: Adjust.
* gcc.dg/tree-ssa/ssa-fre-13.c: Likewise
* gcc.dg/tree-ssa/ssa-fre-14.c: Likewise
* gcc.dg/tree-ssa/ssa-fre-1.c: Likewise
* gcc.dg/tree-ssa/struct-aliasing-1.c: Likewise
* gcc.dg/tree-ssa/ssa-pre-26.c: Likewise
* gcc.dg/tree-ssa/struct-aliasing-2.c: Likewise
* gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise
* gcc.dg/tree-ssa/ssa-pre-7.c: Likewise
* gcc.dg/tree-ssa/forwprop-5.c: Likewise
* g++.dg/tree-ssa/copyprop-1.C: Likewise

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160826 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-16 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 16 Jun 2010 09:43:39 +0000 (16 09:43 +0000)]
2010-06-16  Richard Guenther  <rguenther@suse.de>

* tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
a field to store the constant offset this op applies.
* tree-ssa-sscvn.c (vn_reference_compute_hash): Hash
fields that only adjust the offset by a constant by
aggregating them and hashing the offset.  Do not hash
*& combinations.
(vn_reference_eq): Adjust comparison accordingly.  Make sure
accesses are of the same size first.
(copy_reference_ops_from_ref): Compute and remember constant
offsets.
(copy_reference_ops_from_call): Likewise.
* tree-ssa-pre.c (insert_into_preds_of_block): Properly
initialize avail.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160825 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-15 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 15 Jun 2010 16:03:54 +0000 (15 16:03 +0000)]
2010-06-15  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r160795.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160796 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-15 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 15 Jun 2010 15:53:47 +0000 (15 15:53 +0000)]
2010-06-15  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Simplify
propagating into lhs/rhs MEM_REFs and handle all cases.
* expr.c (expand_expr_real_1): Also allow CONCAT on non-MEM
DECL_RTL when expanding MEM_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160795 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-15 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 15 Jun 2010 12:37:05 +0000 (15 12:37 +0000)]
2010-06-15  Richard Guenther  <rguenther@suse.de>

* alias.c (get_alias_set): Handle non-converting MEM_REFs
like regular references.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160784 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-14 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 14 Jun 2010 15:40:15 +0000 (14 15:40 +0000)]
2010-06-14  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r160751.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160753 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-14 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 14 Jun 2010 15:26:39 +0000 (14 15:26 +0000)]
2010-06-14  Richard Guenther  <rguenther@suse.de>

* gimple.c (is_gimple_mem_ref_addr): New predicate.
* gimple.h (is_gimple_mem_ref_addr): Declare.
* gimplify.c (gimplify_expr): Use it when gimplifying MEM_REFs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160751 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-14 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 14 Jun 2010 13:03:05 +0000 (14 13:03 +0000)]
2010-06-14  Richard Guenther  <rguenther@suse.de>

* tree-sra.c (disqualify_base_of_expr): Fix typo.
(sra_ipa_modify_expr): Remove bogus folding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160737 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-14 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 14 Jun 2010 12:35:12 +0000 (14 12:35 +0000)]
2010-06-14  Richard Guenther  <rguenther@suse.de>

* tree-nested.c (struct nesting_info): Add mem_refs pointer-set.
(create_nesting_tree): Allocate it.
(convert_local_reference_op): Insert to be folded mem-refs.
(fold_mem_refs): New function.
(finalize_nesting_tree_1): Perform defered folding of mem-refs
(free_nesting_tree): Free the pointer-set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160730 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-11 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 11 Jun 2010 15:50:35 +0000 (11 15:50 +0000)]
2010-06-11  Richard Guenther  <rguenther@suse.de>

* fold-const.c (operand_equal_p): When comparing two MEM_REFs
require the same access size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160619 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-11 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 11 Jun 2010 15:21:47 +0000 (11 15:21 +0000)]
2010-06-11  Richard Guenther  <rguenther@suse.de>

* tree-nested.c (convert_local_reference_op): Re-fold MEM_REFs
after converting its first operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160616 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-11 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 11 Jun 2010 13:43:01 +0000 (11 13:43 +0000)]
2010-06-11  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
Fold the temporary MEM_REF we build.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160610 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-11 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 11 Jun 2010 13:22:52 +0000 (11 13:22 +0000)]
2010-06-11  Richard Guenther  <rguenther@suse.de>

* expr.c (store_field): If expanding a MEM_REF of a non-addressable
decl use bitfield operations.
(expand_expr_real_1): More properly deal with the register base
case.

* gcc.dg/torture/20100610-1.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160608 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-11 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 11 Jun 2010 11:55:21 +0000 (11 11:55 +0000)]
2010-06-11  Richard Guenther  <rguenther@suse.de>

* tree-ssa.c (execute_update_addresses_taken): Fix MEM_REF
partial use/def check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160604 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-10 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 10 Jun 2010 15:04:52 +0000 (10 15:04 +0000)]
2010-06-10  Richard Guenther  <rguenther@suse.de>

* builtins.c (fold_builtin_memory_op): Simplify and handle
MEM_REFs in folding memmove to memcpy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160552 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-10 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 10 Jun 2010 12:43:40 +0000 (10 12:43 +0000)]
2010-06-10  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r160535.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160545 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-10 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 10 Jun 2010 11:20:13 +0000 (10 11:20 +0000)]
2010-06-10  Richard Guenther  <rguenther@suse.de>

* gcc.dg/plugin/selfassign.c: Fixup for MEM_REF.
* g++.dg/plugin/selfassign.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160535 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-10 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 10 Jun 2010 11:17:26 +0000 (10 11:17 +0000)]
2010-06-10  Richard Guenther  <rguenther@suse.de>

* tree-sra.c (disqualify_base_of_expr): Fix MEM_REF handling.
(build_access_from_expr_1): Properly handle MEM_REF for
non IPA-SRA.
(make_fancy_name_1): Add support for MEM_REF.
(ptr_parm_has_direct_uses): Fix type check.

* gcc.dg/tree-ssa/pta-ptrarith-1.c: Scan early alias dump.
* gcc.dg/tree-ssa/pta-ptrarith-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160534 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-10 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 10 Jun 2010 10:46:06 +0000 (10 10:46 +0000)]
2010-06-10  Richard Guenther  <rguenther@suse.de>

* fold-const.c (fold_unary_loc): Fold
VIEW_CONVERT_EXPR <T1, MEM_REF <T2, ...>> to MEM_REF <T1, ...>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160531 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-09 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 9 Jun 2010 15:48:49 +0000 (9 15:48 +0000)]
2010-06-09  Richard Guenther  <rguenther@suse.de>

* ipa-inline.c (likely_eliminated_by_inlining_p): Handle
MEM_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160490 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-09 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 9 Jun 2010 14:10:29 +0000 (9 14:10 +0000)]
2010-06-09  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
handle required conversions.

testsuite/
* gcc.c-torture/compile/20100609-1.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160477 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-09 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 9 Jun 2010 13:11:10 +0000 (9 13:11 +0000)]
2010-06-09  Richard Guenther  <rguenther@suse.de>

* tree-pretty-print.c (dump_generic_node): Ignore pointer
vs. reference type when doing fancy MEM_REF dumping.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160472 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-09 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 9 Jun 2010 12:49:05 +0000 (9 12:49 +0000)]
2010-06-09  Richard Guenther  <rguenther@suse.de>

* tree-ssa-loop-niter.c (simplify_replace_tree): Do not
replace constants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160468 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-09 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 9 Jun 2010 12:24:37 +0000 (9 12:24 +0000)]
2010-06-09  Richard Guenther  <rguenther@suse.de>

* tree-inline.c (remap_gimple_op_r): Handle substitutions
into MEM_REFs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160466 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-08 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 8 Jun 2010 17:26:11 +0000 (8 17:26 +0000)]
2010-06-08  Richard Guenther  <rguenther@suse.de>

* tree.c (build_simple_mem_ref_loc): Handle all addresses
that can be trivially decomposed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160442 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-08 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 8 Jun 2010 15:16:29 +0000 (8 15:16 +0000)]
2010-06-08  Richard Guenther  <rguenther@suse.de>

* gimple.c (get_base_address): Restore INDIRECT_REF_P handing
for {MIS,}ALIGN{ED,}_INDIRECT_REF.
(get_base_loadstore): Likewise.
* gimplify.c (gimplify_expr): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160438 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-08 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 8 Jun 2010 13:50:05 +0000 (8 13:50 +0000)]
2010-06-08  Richard Guenther  <rguenther@suse.de>

* tree-pretty-print.c (dump_generic_node): Print MEM[&a] in
the usual fancy way.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160437 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-08 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 8 Jun 2010 13:02:53 +0000 (8 13:02 +0000)]
2010-06-08  Richard Guenther  <rguenther@suse.de>

        testsuite/
        PR tree-optimization/44468
        * gcc.c-torture/execute/pr44468.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160435 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-08 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 8 Jun 2010 11:56:34 +0000 (8 11:56 +0000)]
2010-06-08  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r160431.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160433 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-08 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 8 Jun 2010 08:38:37 +0000 (8 08:38 +0000)]
2010-06-08  Richard Guenther  <rguenther@suse.de>

* tree-scalar-evolution.c (follow_ssa_edge_expr): Handle
&MEM[ptr + CST] similar to POINTER_PLUS_EXPR.
* tree-data-ref.c (dr_analyze_innermost): Handle MEM_REF.
(dr_analyze_indices): Canonicalize MEM_REF bases and zero-offset
component references.
(dr_analyze_alias): Handle MEM_REF.
(object_address_invariant_in_loop_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160427 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-07 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 7 Jun 2010 14:28:09 +0000 (7 14:28 +0000)]
2010-06-07  Richard Guenther  <rguenther@suse.de>

        * matrix-reorg.c (transform_allocation_sites): Remove unused
        var.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160379 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-07 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 7 Jun 2010 13:15:56 +0000 (7 13:15 +0000)]
2010-06-07  Richard Guenther  <rguenther@suse.de>

* builtins.c (stabilize_va_list_loc): Use the function ABI
valist type if we couldn't canonicalize the argument type.
Always dereference with the canonical va-list type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160373 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-07 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 7 Jun 2010 13:07:15 +0000 (7 13:07 +0000)]
2010-06-07  Richard Guenther  <rguenther@suse.de>

        * ipa-struct-reorg.c (reorg_structs_drive): Fixup last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160370 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-07 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 7 Jun 2010 13:03:34 +0000 (7 13:03 +0000)]
2010-06-07  Richard Guenther  <rguenther@suse.de>

* ipa-struct-reorg.c (reorg_structs_drive): Disable.

* gcc.dg/struct: XFAIL all testcases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160369 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-07 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 7 Jun 2010 12:30:42 +0000 (7 12:30 +0000)]
2010-06-07  Richard Guenther  <rguenther@suse.de>

* matrix-reorg.c (may_flatten_matrices_1): Sanitize.
(ssa_accessed_in_tree): Handle MEM_REF.
(ssa_accessed_in_assign_rhs): Likewise.
(update_type_size): Likewise.
(analyze_accesses_for_call_stmt): Likewise.
(analyze_accesses_for_assign_stmt): Likewise.
(transform_access_sites): Likewise.
(transform_allocation_sites): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160368 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-07 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 7 Jun 2010 12:00:17 +0000 (7 12:00 +0000)]
2010-06-07  Richard Guenther  <rguenther@suse.de>

* gimplify.c (gimplify_cond_expr): Make sure to build MEM_REFs when
returning GS_ALL_DONE.
(gimplify_cleanup_point_expr): For empty body and EH-only cleanup
drop the cleanup instead of inserting it unconditionally.
* tree-ssa.c (useless_type_conversion_p): Also drop pointer conversions
with differing pointed-to volatile qualifiers.

cp/
* cp-gimplify.c (cp_gimplify_expr): Open-code the rhs
predicate we are looking for, allow non-gimplified
INDIRECT_REFs.

testsuite/
* gcc.dg/volatile2.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160366 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-06-06 Richard Guenther <rguenther@suse.de>
rguenth [Sun, 6 Jun 2010 20:20:47 +0000 (6 20:20 +0000)]
2010-06-06  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r160345.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@160350 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-05-26 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 26 May 2010 14:52:20 +0000 (26 14:52 +0000)]
2010-05-26  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r159869.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@159872 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-05-20 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 20 May 2010 15:56:27 +0000 (20 15:56 +0000)]
2010-05-20  Richard Guenther  <rguenther@suse.de>

* cgraphbuild.c (mark_load): Properly check for NULL result
from get_base_address.
(mark_store): Likewise.
* tree-pretty-print.c (print_call_name): Handle MEM_REF.
* tree-ssa-structalias.c (find_func_clobbers): Likewise.
* gimple.h (gimple_call_fndecl): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@159631 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-05-19 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 19 May 2010 15:04:14 +0000 (19 15:04 +0000)]
2010-05-19  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Fix
another merge glitch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@159568 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-05-19 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 19 May 2010 13:45:06 +0000 (19 13:45 +0000)]
2010-05-19  Richard Guenther  <rguenther@suse.de>

        * gimplify.c (gimplify_expr): Fix merge glitch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@159566 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-05-19 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 19 May 2010 13:10:54 +0000 (19 13:10 +0000)]
2010-05-19  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r159559.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@159563 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-04-15 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 15 Apr 2010 15:27:45 +0000 (15 15:27 +0000)]
2010-04-15  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r158375.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@158379 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-04-09 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 9 Apr 2010 08:57:21 +0000 (9 08:57 +0000)]
2010-04-09  Richard Guenther  <rguenther@suse.de>

* builtins.c (maybe_emit_free_warning): Handle MEM_REF.
* tree-ssa-phiopt.c (add_or_mark_expr): Likewise.
(cond_store_replacement): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
(propagate_with_phi): Likewise.
* tree-object-size.c (addr_object_size): Complete MEM_REF
handling, fix error in previous conversion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@158154 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-04-08 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 8 Apr 2010 13:55:23 +0000 (8 13:55 +0000)]
2010-04-08  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (vrp_stmt_computes_nonzero): Adjust for MEM_REF.
* tree-pretty-print.c (dump_generic_node): Print MEM_REFs
equivalent to plain old INDIRECT_REFs as * and -> again.
* gimplify.c (gimple_fold_indirect_ref): Restore some
foldings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@158125 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-04-08 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 8 Apr 2010 12:15:32 +0000 (8 12:15 +0000)]
2010-04-08  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (check_array_ref): Handle MEM_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@158124 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-04-08 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 8 Apr 2010 11:13:45 +0000 (8 11:13 +0000)]
2010-04-08  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r158111.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@158115 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-04-05 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 5 Apr 2010 11:18:48 +0000 (5 11:18 +0000)]
2010-04-05  Richard Guenther  <rguenther@suse.de>

        Merge from trunk r157963.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@157964 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-04-01 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 1 Apr 2010 14:59:58 +0000 (1 14:59 +0000)]
2010-04-01  Richard Guenther  <rguenther@suse.de>

* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle MEM_REF.
* tree-loop-distribution.c (generate_builtin): Exchange INDIRECT_REF
handling for MEM_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@157912 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-04-01 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 1 Apr 2010 13:09:50 +0000 (1 13:09 +0000)]
2010-04-01  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Re-instantiate
TBAA code.
(indirect_refs_may_alias_p): Likewise.
(refs_may_alias_p_1): Move MEM_REF base offset handling to
disambiguators.  Remove pointer SSA name def chasing code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@157906 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-03-31 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 31 Mar 2010 11:43:09 +0000 (31 11:43 +0000)]
2010-03-31  Richard Guenther  <rguenther@suse.de>

* tree-ssa-loop-ivopts.c (find_interesting_uses_address):
Replace INDIRECT_REF handling with MEM_REF handling.
(get_computation_cost_at): Likewise.
(tree_ssa_iv_optimize): Re-enable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@157866 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-03-31 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 31 Mar 2010 11:41:59 +0000 (31 11:41 +0000)]
2010-03-31  Richard Guenther  <rguenther@suse.de>

* tree-ssa.c (useless_type_conversion_p): Move restrict
cast conversion check before void type check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@157865 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-03-31 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 31 Mar 2010 11:03:18 +0000 (31 11:03 +0000)]
2010-03-31  Richard Guenther  <rguenther@suse.de>

* tree-sra.c (create_access): Swap INDIRECT_REF handling for
MEM_REF handling.
(disqualify_base_of_expr): Likewise.
(build_ref_for_offset_1): Re-instantiate.
(build_ref_for_offset): Revert previous changes.
(gate_intra_sra): Re-enable.
(ptr_parm_has_direct_uses): Swap INDIRECT_REF handling for
MEM_REF handling.
(sra_ipa_modify_expr): Remove INDIRECT_REF handling.
Use mem_ref_offset.
(ipa_early_sra_gate): Re-enable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@157862 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-03-31 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 31 Mar 2010 10:05:36 +0000 (31 10:05 +0000)]
2010-03-31  Richard Guenther  <rguenther@suse.de>

* tree.h (mem_ref_offset): Declare.
* tree.c (mem_ref_offset): New function.
* tree-ssa-alias.c (refs_may_alias_p_1): Use it.
* expr.c (get_inner_reference): Likewise.
(expand_expr_addr_expr_1): Likewise.
* tree-dfa.c (get_ref_base_and_extent): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@157860 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-03-30 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 30 Mar 2010 15:07:01 +0000 (30 15:07 +0000)]
2010-03-30  Richard Guenther  <rguenther@suse.de>

* tree-ssa-ccp.c (may_propagate_address_into_dereference):
Handle MEM_REF.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
Propagate through constant pointer adjustments.
Re-instantiate more cases to propagate into dereferences.
(tree_ssa_forward_propagate_single_use_vars): Adjust
accordingly.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
offset check.  Disable fancy access-path based TBAA disambiguation.
(indirect_refs_may_alias_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@157827 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-03-30 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 30 Mar 2010 12:50:24 +0000 (30 12:50 +0000)]
2010-03-30  Richard Guenther  <rguenther@suse.de>

* gimplify.c (mark_addressable): Handle MEM_REF.
(gimplify_modify_expr_to_memcpy): Properly build a MEM_REF tree.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@157820 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-03-26 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 26 Mar 2010 16:08:29 +0000 (26 16:08 +0000)]
2010-03-26  Richard Guenther  <rguenther@suse.de>

* ipa-reference.c (mark_load): Use get_base_address.
(mark_store): Likewise.

* tree-ssa-ccp.c (maybe_fold_reference): Avoid introducing
not useless type conversions.
* ipa-pure-const.c (check_op): Handle MEM_REF.
* cfgexpand.c (expand_debug_expr): Fold MEM_REFs in debug
expressions to avoid handing non-canonicalized MEM_EXPRs
to the alias-oracle from the scheduler.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@157752 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2010-03-24 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 24 Mar 2010 16:38:08 +0000 (24 16:38 +0000)]
2010-03-24  Richard Guenther  <rguenther@suse.de>

* tree.c (recompute_tree_invariant_for_addr_expr): Handle MEM_REF.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Re-instantiate
code handling ALIGN_INDIRECT_REF and MISALIGNED_INDIRECT_REF.
* tree-ssa-ccp.c (maybe_fold_reference): Drop code folding
constant-offset component references into the MEM_REF constant
offset.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/mem-ref2@157699 138bc75d-0d04-0410-961f-82ee72b054a4