Commit 494d6c28 by Andre Vieira Committed by Andre Vieira

[vect] Clean up orig_loop_vinfo from vect_analyze_loop

gcc/ChangeLog:
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.

From-SVN: r277785
parent 818b3293
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> 2019-11-04 Joel Hutton <Joel.Hutton@arm.com>
* expr.c (store_constructor): Modify to handle single element vectors. * expr.c (store_constructor): Modify to handle single element vectors.
...@@ -2350,11 +2350,9 @@ again: ...@@ -2350,11 +2350,9 @@ again:
Apply a set of analyses on LOOP, and create a loop_vec_info struct Apply a set of analyses on LOOP, and create a loop_vec_info struct
for it. The different analyses will record information in the for it. The different analyses will record information in the
loop_vec_info struct. If ORIG_LOOP_VINFO is not NULL epilogue must loop_vec_info struct. */
be vectorized. */
opt_loop_vec_info opt_loop_vec_info
vect_analyze_loop (class loop *loop, loop_vec_info orig_loop_vinfo, vect_analyze_loop (class loop *loop, vec_info_shared *shared)
vec_info_shared *shared)
{ {
auto_vector_sizes vector_sizes; auto_vector_sizes vector_sizes;
...@@ -2406,9 +2404,7 @@ vect_analyze_loop (class loop *loop, loop_vec_info orig_loop_vinfo, ...@@ -2406,9 +2404,7 @@ vect_analyze_loop (class loop *loop, loop_vec_info orig_loop_vinfo,
bool fatal = false; bool fatal = false;
if (orig_loop_vinfo) if (vect_epilogues && first_loop_vinfo)
LOOP_VINFO_ORIG_LOOP_INFO (loop_vinfo) = orig_loop_vinfo;
else if (vect_epilogues && first_loop_vinfo)
LOOP_VINFO_ORIG_LOOP_INFO (loop_vinfo) = 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); opt_result res = vect_analyze_loop_2 (loop_vinfo, fatal, &n_stmts);
......
...@@ -865,8 +865,7 @@ set_uid_loop_bbs (loop_vec_info loop_vinfo, gimple *loop_vectorized_call) ...@@ -865,8 +865,7 @@ set_uid_loop_bbs (loop_vec_info loop_vinfo, gimple *loop_vectorized_call)
static unsigned static unsigned
try_vectorize_loop_1 (hash_table<simduid_to_vf> *&simduid_to_vf_htab, try_vectorize_loop_1 (hash_table<simduid_to_vf> *&simduid_to_vf_htab,
unsigned *num_vectorized_loops, unsigned *num_vectorized_loops, loop_p loop,
loop_p loop, loop_vec_info orig_loop_vinfo,
gimple *loop_vectorized_call, gimple *loop_vectorized_call,
gimple *loop_dist_alias_call) gimple *loop_dist_alias_call)
{ {
...@@ -890,7 +889,7 @@ try_vectorize_loop_1 (hash_table<simduid_to_vf> *&simduid_to_vf_htab, ...@@ -890,7 +889,7 @@ try_vectorize_loop_1 (hash_table<simduid_to_vf> *&simduid_to_vf_htab,
else else
{ {
/* Try to analyze the loop, retaining an opt_problem if dump_enabled_p. */ /* 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; loop->aux = loop_vinfo;
} }
...@@ -1025,7 +1024,7 @@ try_vectorize_loop_1 (hash_table<simduid_to_vf> *&simduid_to_vf_htab, ...@@ -1025,7 +1024,7 @@ try_vectorize_loop_1 (hash_table<simduid_to_vf> *&simduid_to_vf_htab,
*/ */
unsigned dont_count = *num_vectorized_loops; unsigned dont_count = *num_vectorized_loops;
ret |= try_vectorize_loop_1 (simduid_to_vf_htab, &dont_count, ret |= try_vectorize_loop_1 (simduid_to_vf_htab, &dont_count,
new_loop, loop_vinfo, NULL, NULL); new_loop, NULL, NULL);
} }
return ret; return ret;
...@@ -1042,8 +1041,7 @@ try_vectorize_loop (hash_table<simduid_to_vf> *&simduid_to_vf_htab, ...@@ -1042,8 +1041,7 @@ try_vectorize_loop (hash_table<simduid_to_vf> *&simduid_to_vf_htab,
|| loop->force_vectorize)) || loop->force_vectorize))
return 0; return 0;
return try_vectorize_loop_1 (simduid_to_vf_htab, num_vectorized_loops, return try_vectorize_loop_1 (simduid_to_vf_htab, num_vectorized_loops, loop,
loop, NULL,
vect_loop_vectorized_call (loop), vect_loop_vectorized_call (loop),
vect_loop_dist_alias_call (loop)); vect_loop_dist_alias_call (loop));
} }
......
...@@ -1721,9 +1721,7 @@ extern bool check_reduction_path (dump_user_location_t, loop_p, gphi *, tree, ...@@ -1721,9 +1721,7 @@ extern bool check_reduction_path (dump_user_location_t, loop_p, gphi *, tree,
enum tree_code); enum tree_code);
extern bool needs_fold_left_reduction_p (tree, tree_code); extern bool needs_fold_left_reduction_p (tree, tree_code);
/* Drive for loop analysis stage. */ /* Drive for loop analysis stage. */
extern opt_loop_vec_info vect_analyze_loop (class loop *, extern opt_loop_vec_info vect_analyze_loop (class loop *, vec_info_shared *);
loop_vec_info,
vec_info_shared *);
extern tree vect_build_loop_niters (loop_vec_info, bool * = NULL); extern tree vect_build_loop_niters (loop_vec_info, bool * = NULL);
extern void vect_gen_vector_loop_niters (loop_vec_info, tree, tree *, extern void vect_gen_vector_loop_niters (loop_vec_info, tree, tree *,
tree *, bool); tree *, bool);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment