diff options
Diffstat (limited to 'gcc/tree-parloops.c')
-rw-r--r-- | gcc/tree-parloops.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c index b843fe5..25a0f0a 100644 --- a/gcc/tree-parloops.c +++ b/gcc/tree-parloops.c @@ -395,7 +395,6 @@ lambda_transform_legal_p (lambda_trans_matrix trans, static bool loop_parallel_p (struct loop *loop, struct obstack * parloop_obstack) { - vec<loop_p> loop_nest; vec<ddr_p> dependence_relations; vec<data_reference_p> datarefs; lambda_trans_matrix trans; @@ -412,9 +411,9 @@ loop_parallel_p (struct loop *loop, struct obstack * parloop_obstack) /* Check for problems with dependences. If the loop can be reversed, the iterations are independent. */ + stack_vec<loop_p, 3> loop_nest; datarefs.create (10); - dependence_relations.create (10 * 10); - loop_nest.create (3); + dependence_relations.create (100); if (! compute_data_dependences_for_loop (loop, true, &loop_nest, &datarefs, &dependence_relations)) { @@ -440,7 +439,6 @@ loop_parallel_p (struct loop *loop, struct obstack * parloop_obstack) " FAILED: data dependencies exist across iterations\n"); end: - loop_nest.release (); free_dependence_relations (dependence_relations); free_data_refs (datarefs); @@ -741,8 +739,7 @@ static void eliminate_local_variables (edge entry, edge exit) { basic_block bb; - vec<basic_block> body; - body.create (3); + stack_vec<basic_block, 3> body; unsigned i; gimple_stmt_iterator gsi; bool has_debug_stmt = false; @@ -772,7 +769,6 @@ eliminate_local_variables (edge entry, edge exit) eliminate_local_variables_stmt (entry, &gsi, decl_address); decl_address.dispose (); - body.release (); } /* Returns true if expression EXPR is not defined between ENTRY and @@ -1297,8 +1293,7 @@ separate_decls_in_region (edge entry, edge exit, tree type, type_name, nvar; gimple_stmt_iterator gsi; struct clsn_data clsn_data; - vec<basic_block> body; - body.create (3); + stack_vec<basic_block, 3> body; basic_block bb; basic_block entry_bb = bb1; basic_block exit_bb = exit->dest; @@ -1356,8 +1351,6 @@ separate_decls_in_region (edge entry, edge exit, } } - body.release (); - if (name_copies.elements () == 0 && reduction_list.elements () == 0) { /* It may happen that there is nothing to copy (if there are only |