diff options
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r-- | gcc/tree-vect-loop.c | 29 |
1 files changed, 9 insertions, 20 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 02aa090b51a..bcd351621c9 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -3802,14 +3802,14 @@ vect_create_epilog_for_reduction (vec<tree> vect_defs, gimple stmt, bool extract_scalar_result = false; gimple use_stmt, orig_stmt, reduction_phi = NULL; bool nested_in_vect_loop = false; - vec<gimple> new_phis = vNULL; - vec<gimple> inner_phis = vNULL; + auto_vec<gimple> new_phis; + auto_vec<gimple> inner_phis; enum vect_def_type dt = vect_unknown_def_type; int j, i; - vec<tree> scalar_results = vNULL; + auto_vec<tree> scalar_results; unsigned int group_size = 1, k, ratio; - vec<tree> vec_initial_defs = vNULL; - vec<gimple> phis; + auto_vec<tree> vec_initial_defs; + auto_vec<gimple> phis; bool slp_reduc = false; tree new_phi_result; gimple inner_phi = NULL; @@ -3913,8 +3913,6 @@ vect_create_epilog_for_reduction (vec<tree> vect_defs, gimple stmt, } } - vec_initial_defs.release (); - /* 2. Create epilog code. The reduction epilog code operates across the elements of the vector of partial results computed by the vectorized loop. @@ -4594,10 +4592,6 @@ vect_finalize_reduction: phis.release (); } - - scalar_results.release (); - inner_phis.release (); - new_phis.release (); } @@ -4685,10 +4679,10 @@ vectorizable_reduction (gimple stmt, gimple_stmt_iterator *gsi, struct loop * def_stmt_loop, *outer_loop = NULL; tree def_arg; gimple def_arg_stmt; - vec<tree> vec_oprnds0 = vNULL; - vec<tree> vec_oprnds1 = vNULL; - vec<tree> vect_defs = vNULL; - vec<gimple> phis = vNULL; + auto_vec<tree> vec_oprnds0; + auto_vec<tree> vec_oprnds1; + auto_vec<tree> vect_defs; + auto_vec<gimple> phis; int vec_num; tree def0, def1, tem, op0, op1 = NULL_TREE; @@ -5304,11 +5298,6 @@ vectorizable_reduction (gimple stmt, gimple_stmt_iterator *gsi, epilog_reduc_code, phis, reduc_index, double_reduc, slp_node); - phis.release (); - vect_defs.release (); - vec_oprnds0.release (); - vec_oprnds1.release (); - return true; } |