aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-parloops.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2018-07-31 14:26:31 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2018-07-31 14:26:31 +0000
commit6ef709e50228eb23c25d3620ac6eadb6d765d40d (patch)
tree433895df78a59e03d310b0cee116230e528175d7 /gcc/tree-parloops.c
parent458135c0354f19eb2bd032d42c27076def8c31de (diff)
downloadgcc-6ef709e50228eb23c25d3620ac6eadb6d765d40d.zip
gcc-6ef709e50228eb23c25d3620ac6eadb6d765d40d.tar.gz
gcc-6ef709e50228eb23c25d3620ac6eadb6d765d40d.tar.bz2
[44/46] Remove global vinfo_for_stmt-related routines
There are no more direct uses of: - new_stmt_vec_info - set_vinfo_for_stmt - free_stmt_vec_infos - free_stmt_vec_info outside of vec_info, so they can now be private member functions. It also seemed better to put them in tree-vectorizer.c, along with the other vec_info routines. We can also get rid of: - vinfo_for_stmt - stmt_vec_info_vec - set_stmt_vec_info_vec since nothing now uses them. This was the main goal of the series. 2018-07-31 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vectorizer.h (vec_info::new_vinfo_for_stmt) (vec_info::set_vinfo_for_stmt, vec_info::free_stmt_vec_infos) (vec_info::free_stmt_vec_info): New private member functions. (set_stmt_vec_info_vec, free_stmt_vec_infos, vinfo_for_stmt) (set_vinfo_for_stmt, new_stmt_vec_info, free_stmt_vec_info): Delete. * tree-parloops.c (gather_scalar_reductions): Remove calls to set_stmt_vec_info_vec and free_stmt_vec_infos. * tree-vect-loop.c (_loop_vec_info): Remove call to set_stmt_vec_info_vec. * tree-vect-stmts.c (new_stmt_vec_info, set_stmt_vec_info_vec) (free_stmt_vec_infos, free_stmt_vec_info): Delete in favor of... * tree-vectorizer.c (vec_info::new_stmt_vec_info) (vec_info::set_vinfo_for_stmt, vec_info::free_stmt_vec_infos) (vec_info::free_stmt_vec_info): ...these new functions. Remove assignments in {vec_info::,}new_stmt_vec_info that are redundant with the clearing in the xcalloc. (stmt_vec_info_vec): Delete. (vec_info::vec_info): Don't call set_stmt_vec_info_vec. (vectorize_loops): Likewise. (vec_info::~vec_info): Remove argument from call to free_stmt_vec_infos. (vec_info::add_stmt): Remove vinfo argument from call to new_stmt_vec_info. From-SVN: r263159
Diffstat (limited to 'gcc/tree-parloops.c')
-rw-r--r--gcc/tree-parloops.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c
index 5133054..e89c887 100644
--- a/gcc/tree-parloops.c
+++ b/gcc/tree-parloops.c
@@ -2592,10 +2592,6 @@ gather_scalar_reductions (loop_p loop, reduction_info_table_type *reduction_list
auto_vec<gphi *, 4> double_reduc_phis;
auto_vec<gimple *, 4> double_reduc_stmts;
- vec<stmt_vec_info> stmt_vec_infos;
- stmt_vec_infos.create (50);
- set_stmt_vec_info_vec (&stmt_vec_infos);
-
vec_info_shared shared;
simple_loop_info = vect_analyze_loop_form (loop, &shared);
if (simple_loop_info == NULL)
@@ -2679,14 +2675,11 @@ gather_scalar_reductions (loop_p loop, reduction_info_table_type *reduction_list
}
gather_done:
- /* Release the claim on gimple_uid. */
- free_stmt_vec_infos (&stmt_vec_infos);
-
if (reduction_list->elements () == 0)
return;
/* As gimple_uid is used by the vectorizer in between vect_analyze_loop_form
- and free_stmt_vec_info_vec, we can set gimple_uid of reduc_phi stmts only
+ and delete simple_loop_info, we can set gimple_uid of reduc_phi stmts only
now. */
basic_block bb;
FOR_EACH_BB_FN (bb, cfun)