diff options
author | Richard Biener <rguenther@suse.de> | 2018-06-21 07:46:43 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2018-06-21 07:46:43 +0000 |
commit | 5fa234669f3882aa2190c916df497259153412e4 (patch) | |
tree | 23dd6ee895c84a78f946b78eef32ec8baef5b502 /gcc/tree-vect-loop-manip.c | |
parent | 1ac6620a52ced600f617eb7018899f7a67cc6d83 (diff) | |
download | gcc-5fa234669f3882aa2190c916df497259153412e4.zip gcc-5fa234669f3882aa2190c916df497259153412e4.tar.gz gcc-5fa234669f3882aa2190c916df497259153412e4.tar.bz2 |
tree-data-ref.c (dr_step_indicator): Handle NULL DR_STEP.
2018-06-21 Richard Biener <rguenther@suse.de>
* tree-data-ref.c (dr_step_indicator): Handle NULL DR_STEP.
* tree-vect-data-refs.c (vect_analyze_possibly_independent_ddr):
Avoid calling vect_mark_for_runtime_alias_test with gathers or scatters.
(vect_analyze_data_ref_dependence): Re-order checks to deal with
NULL DR_STEP.
(vect_record_base_alignments): Do not record base alignment
for gathers or scatters.
(vect_compute_data_ref_alignment): Drop return value that is always
true. Bail out early for gathers or scatters.
(vect_enhance_data_refs_alignment): Bail out early for gathers
or scatters.
(vect_find_same_alignment_drs): Likewise.
(vect_analyze_data_refs_alignment): Remove dead code.
(vect_slp_analyze_and_verify_node_alignment): Likewise.
(vect_analyze_data_refs): For possible gathers or scatters do
not create an alternate DR, just check their possible validity
and mark them. Adjust DECL_NONALIASED handling to not rely
on DR_BASE_ADDRESS.
* tree-vect-loop-manip.c (vect_update_inits_of_drs): Do not
update inits of gathers or scatters.
* tree-vect-patterns.c (vect_recog_mask_conversion_pattern):
Also copy gather/scatter flag to pattern vinfo.
From-SVN: r261834
Diffstat (limited to 'gcc/tree-vect-loop-manip.c')
-rw-r--r-- | gcc/tree-vect-loop-manip.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c index 3eab650..f52ca0d 100644 --- a/gcc/tree-vect-loop-manip.c +++ b/gcc/tree-vect-loop-manip.c @@ -1752,7 +1752,11 @@ vect_update_inits_of_drs (loop_vec_info loop_vinfo, tree niters, } FOR_EACH_VEC_ELT (datarefs, i, dr) - vect_update_init_of_dr (dr, niters, code); + { + gimple *stmt = DR_STMT (dr); + if (!STMT_VINFO_GATHER_SCATTER_P (vinfo_for_stmt (stmt))) + vect_update_init_of_dr (dr, niters, code); + } } /* For the information recorded in LOOP_VINFO prepare the loop for peeling |