re PR tree-optimization/52406 (likely wrong code bug)
authorRichard Guenther <rguenther@suse.de>
Fri, 2 Mar 2012 14:58:55 +0000 (14:58 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 2 Mar 2012 14:58:55 +0000 (14:58 +0000)
commitc4ddde1bbb802daac8daba71ce7344adc0afc63d
treec3a4354f21d2707459cf46ca8b2154966b514eb4
parent6ee65df3f19d975ab2272531cc50c5dfc96bbf65
re PR tree-optimization/52406 (likely wrong code bug)

2012-03-02  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/52406
* tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
(struct indices): Add unconstrained_base member.
(struct dr_alias): Remove unused vops member.
(DR_UNCONSTRAINED_BASE): New define.
* tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
add indices to allow their disambiguation.  Make DR_BASE_OBJECT
be an artificial access that covers the whole indexed object,
or mark it with DR_UNCONSTRAINED_BASE if we cannot do so.  Canonicalize
plain decl base-objects to their MEM_REF variant.
(dr_may_alias_p): When the base-object of either data reference
has unknown size use only points-to information.
(compute_affine_dependence): Make dumps easier to read and
more verbose.
* tree-vect-data-ref.c (vector_alignment_reachable_p): Use
DR_REF when looking for packed references.
(vect_supportable_dr_alignment): Likewise.

* gcc.dg/torture/pr52406.c: New testcase.

From-SVN: r184789
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr52406.c [new file with mode: 0644]
gcc/tree-data-ref.c
gcc/tree-data-ref.h
gcc/tree-vect-data-refs.c