This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/53295] Vectorizer support for non-constant strided loads depends on gather support overwriting the data-ref with bogus data


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53295

--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-05-11 12:03:19 UTC ---
Author: rguenth
Date: Fri May 11 12:03:10 2012
New Revision: 187402

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187402
Log:
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.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-data-ref.c
    trunk/gcc/tree-data-ref.h
    trunk/gcc/tree-vect-data-refs.c
    trunk/gcc/tree-vect-loop-manip.c
    trunk/gcc/tree-vect-stmts.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]