aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-patterns.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-06-21 07:46:43 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-06-21 07:46:43 +0000
commit5fa234669f3882aa2190c916df497259153412e4 (patch)
tree23dd6ee895c84a78f946b78eef32ec8baef5b502 /gcc/tree-vect-patterns.c
parent1ac6620a52ced600f617eb7018899f7a67cc6d83 (diff)
downloadgcc-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-patterns.c')
-rw-r--r--gcc/tree-vect-patterns.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index a07b1a9..9654bd7 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -3848,6 +3848,8 @@ vect_recog_mask_conversion_pattern (vec<gimple *> *stmts, tree *type_out)
= STMT_VINFO_DATA_REF (stmt_vinfo);
STMT_VINFO_DR_WRT_VEC_LOOP (pattern_stmt_info)
= STMT_VINFO_DR_WRT_VEC_LOOP (stmt_vinfo);
+ STMT_VINFO_GATHER_SCATTER_P (pattern_stmt_info)
+ = STMT_VINFO_GATHER_SCATTER_P (stmt_vinfo);
*type_out = vectype1;
stmts->safe_push (last_stmt);