diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 25af3fc51d694a3a2fa8deb2b6a8ccc33d740613..b94a323672875cc1ef4c30abe0dad6c17def6ff7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2019-11-04 Andre Vieira <andre.simoesdiasvieira@arm.com> + + * tree-vect-loop.c (vect_analyze_loop): Remove orig_loop_vinfo + parameter. + * tree-vectorizer.h (vect_analyze_loop): Update declaration. + * tree-vectorizer.c (try_vectorize_loop_1): Update calls to + vect_analyze_loop. + 2019-11-04 Joel Hutton <Joel.Hutton@arm.com> * expr.c (store_constructor): Modify to handle single element vectors. diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 9d31381fac13dd8f65673512e8206d170c9050be..4064e9c0ff7cc2dcaeb5512a4cd59b1adc342128 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -2350,11 +2350,9 @@ again: Apply a set of analyses on LOOP, and create a loop_vec_info struct for it. The different analyses will record information in the - loop_vec_info struct. If ORIG_LOOP_VINFO is not NULL epilogue must - be vectorized. */ + loop_vec_info struct. */ opt_loop_vec_info -vect_analyze_loop (class loop *loop, loop_vec_info orig_loop_vinfo, - vec_info_shared *shared) +vect_analyze_loop (class loop *loop, vec_info_shared *shared) { auto_vector_sizes vector_sizes; @@ -2406,9 +2404,7 @@ vect_analyze_loop (class loop *loop, loop_vec_info orig_loop_vinfo, bool fatal = false; - if (orig_loop_vinfo) - LOOP_VINFO_ORIG_LOOP_INFO (loop_vinfo) = orig_loop_vinfo; - else if (vect_epilogues && first_loop_vinfo) + if (vect_epilogues && first_loop_vinfo) LOOP_VINFO_ORIG_LOOP_INFO (loop_vinfo) = first_loop_vinfo; opt_result res = vect_analyze_loop_2 (loop_vinfo, fatal, &n_stmts); diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index 8e02647c7bad6ce4a92a225a4d37f82439f771ae..0f00383e3b33098189b2f656a8bd02d0148dd888 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -865,8 +865,7 @@ set_uid_loop_bbs (loop_vec_info loop_vinfo, gimple *loop_vectorized_call) static unsigned try_vectorize_loop_1 (hash_table<simduid_to_vf> *&simduid_to_vf_htab, - unsigned *num_vectorized_loops, - loop_p loop, loop_vec_info orig_loop_vinfo, + unsigned *num_vectorized_loops, loop_p loop, gimple *loop_vectorized_call, gimple *loop_dist_alias_call) { @@ -890,7 +889,7 @@ try_vectorize_loop_1 (hash_table<simduid_to_vf> *&simduid_to_vf_htab, else { /* Try to analyze the loop, retaining an opt_problem if dump_enabled_p. */ - loop_vinfo = vect_analyze_loop (loop, orig_loop_vinfo, &shared); + loop_vinfo = vect_analyze_loop (loop, &shared); loop->aux = loop_vinfo; } @@ -1025,7 +1024,7 @@ try_vectorize_loop_1 (hash_table<simduid_to_vf> *&simduid_to_vf_htab, */ unsigned dont_count = *num_vectorized_loops; ret |= try_vectorize_loop_1 (simduid_to_vf_htab, &dont_count, - new_loop, loop_vinfo, NULL, NULL); + new_loop, NULL, NULL); } return ret; @@ -1042,8 +1041,7 @@ try_vectorize_loop (hash_table<simduid_to_vf> *&simduid_to_vf_htab, || loop->force_vectorize)) return 0; - return try_vectorize_loop_1 (simduid_to_vf_htab, num_vectorized_loops, - loop, NULL, + return try_vectorize_loop_1 (simduid_to_vf_htab, num_vectorized_loops, loop, vect_loop_vectorized_call (loop), vect_loop_dist_alias_call (loop)); } diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index 0fa64357be2c154662378af85642632aac50c523..6b4e92e78afe0d98e0e00533d57b39f1ee6b435a 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -1721,9 +1721,7 @@ extern bool check_reduction_path (dump_user_location_t, loop_p, gphi *, tree, enum tree_code); extern bool needs_fold_left_reduction_p (tree, tree_code); /* Drive for loop analysis stage. */ -extern opt_loop_vec_info vect_analyze_loop (class loop *, - loop_vec_info, - vec_info_shared *); +extern opt_loop_vec_info vect_analyze_loop (class loop *, vec_info_shared *); extern tree vect_build_loop_niters (loop_vec_info, bool * = NULL); extern void vect_gen_vector_loop_niters (loop_vec_info, tree, tree *, tree *, bool);