re PR tree-optimization/53295 (Vectorizer support for non-constant strided loads...
authorRichard Guenther <rguenther@suse.de>
Fri, 11 May 2012 12:03:10 +0000 (12:03 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 11 May 2012 12:03:10 +0000 (12:03 +0000)
commit319e6439f592285e7d931c47285c363cca113788
treec7417b74792b46bcd03c94c197dcf0d6da80c8c3
parent76a02e42c00f4e2d79087c77f0c7970d24f4c3c0
re PR tree-optimization/53295 (Vectorizer support for non-constant strided loads depends on gather support overwriting the data-ref with bogus data)

2012-05-11  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/53295
* tree-data-ref.h (stride_of_unit_type_p): Handle non-constant
strides.
* tree-data-ref.c (dr_analyze_innermost): Allow non-constant
strides when analyzing data-references in a loop context.
* tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Reject
non-constant strides for now.
(vect_enhance_data_refs_alignment): Ignore data references
that are strided loads.
(vect_analyze_data_ref_access): Handle non-constant strides.
(vect_check_strided_load): Verify the data-reference is a load.
(vect_analyze_data_refs): Restructure to make strided load
support not dependent on gather support.
* tree-vect-stmts.c (vectorizable_load): Avoid useless work
when doing strided or gather loads.
* tree-vect-loop-manip.c (vect_vfa_segment_size): Use
integer_zerop to compare stride with zero.

From-SVN: r187402
gcc/ChangeLog
gcc/tree-data-ref.c
gcc/tree-data-ref.h
gcc/tree-vect-data-refs.c
gcc/tree-vect-loop-manip.c
gcc/tree-vect-stmts.c