-
- Downloads
re PR tree-optimization/41881 (Complete unrolling (inner) versus vectorization of reduction)
PR tree-optimization/41881 * tree-vectorizer.h (struct _loop_vec_info): Add new field reduction_chains along with a macro for its access. * tree-vect-loop.c (new_loop_vec_info): Initialize reduction chains. (destroy_loop_vec_info): Free reduction chains. (vect_analyze_loop_2): Return false if vect_analyze_slp() returns false. (vect_is_slp_reduction): New function. (vect_is_simple_reduction_1): Call vect_is_slp_reduction. (vect_create_epilog_for_reduction): Support SLP reduction chains. * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow different definition types for reduction chains. (vect_supported_load_permutation_p): Don't allow permutations for reduction chains. (vect_analyze_slp_instance): Support reduction chains. (vect_analyze_slp): Try to build SLP instance from reduction chains. (vect_get_constant_vectors): Handle reduction chains. (vect_schedule_slp_instance): Mark the first statement of the reduction chain as reduction. From-SVN: r173856
Showing
- gcc/ChangeLog 21 additions, 0 deletionsgcc/ChangeLog
- gcc/testsuite/ChangeLog 6 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.dg/vect/O3-pr41881.c 30 additions, 0 deletionsgcc/testsuite/gcc.dg/vect/O3-pr41881.c
- gcc/testsuite/gcc.dg/vect/O3-slp-reduc-10.c 43 additions, 0 deletionsgcc/testsuite/gcc.dg/vect/O3-slp-reduc-10.c
- gcc/tree-vect-loop.c 237 additions, 30 deletionsgcc/tree-vect-loop.c
- gcc/tree-vect-slp.c 68 additions, 25 deletionsgcc/tree-vect-slp.c
- gcc/tree-vectorizer.h 5 additions, 0 deletionsgcc/tree-vectorizer.h
Loading
Please register or sign in to comment