summaryrefslogtreecommitdiff
path: root/gcc/graphite-scop-detection.c
diff options
context:
space:
mode:
authordnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-01 20:31:32 +0000
committerdnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-01 20:31:32 +0000
commite85cf4e5d0d8c9388d3eaaaa606b5db4e9ed62e8 (patch)
tree9b926d72ddfbc7904a373e59872f1d07b4e4e417 /gcc/graphite-scop-detection.c
parentd3af0a3acf4b64d04df69c244c047c1294f72b38 (diff)
downloadgcc-e85cf4e5d0d8c9388d3eaaaa606b5db4e9ed62e8.tar.gz
Replace some heap vectors with stack vectors.
From http://gcc.gnu.org/ml/gcc-patches/2013-10/msg02735.html This patch is pretty dull, it just replaces a bunch of things of the form vec<T> x; x.create (N); // N is a constant blah blah x.release (); by stack_vec<T, N> x; blah blah 2013-11-01 Trevor Saunders <tsaunders@mozilla.com> gcc/ * function.c (reorder_blocks): Convert block_stack to a stack_vec. * gimplify.c (gimplify_compound_lval): Likewise. * graphite-clast-to-gimple.c (gloog): Likewise. * graphite-dependences.c (loop_is_parallel_p): Likewise. * graphite-scop-detection.c (scopdet_basic_block_info): Likewise. (limit_scop); Likewise. (build_scops): Likewise. (dot_scop): Likewise. * graphite-sese-to-poly.c (sese_dom_walker): Likewise. (build_scop_drs): Likewise. (insert_stmts): Likewise. (insert_out_of_ssa_copy): Likewise. (remove_phi): Likewise. (rewrite_commutative_reductions_out_of_ssa_close_phi): Likewise. * hw-doloop.c (discover_loop): Likewise. * tree-call-cdce.c (shrink_wrap_one_built_in_call): Likewise. * tree-dfa.c (dump_enumerated_decls): Likewise. * tree-if-conv.c (if_convertable_loop_p): Likewise. * tree-inline.c (tree_function_versioning): Likewise. * tree-loop-distribution.c (build_rdg): Likewise. (rdg_flag_vertex_and_dependent): Likewise. (distribute_loop): Likewise. * tree-parloops.c (loop_parallel_p): Likewise. (eliminate_local_variables): Likewise. (separate_decls_in_region): Likewise. * tree-predcom.c (tree_predictive_commoning_loop): Likewise. * tree-ssa-phiopt.c (cond_if_else_store_replacement): Likewise. * tree-ssa-uncprop.c (uncprop_dom_walker): Likewise. * tree-vect-loop.c (vect_analyze_scaler_cycles_1): Likewise. * tree-vect-patterns.c (vect_pattern_recog): Likewise. * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise. (vectorizable_condition): Likewise. gcc/cp/ * semantics.c (build_anon_member_initialization): Convert fields to be a stack_vec. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204301 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/graphite-scop-detection.c')
-rw-r--r--gcc/graphite-scop-detection.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
index 38fe92b44bb..e73a349803a 100644
--- a/gcc/graphite-scop-detection.c
+++ b/gcc/graphite-scop-detection.c
@@ -475,8 +475,7 @@ scopdet_basic_block_info (basic_block bb, loop_p outermost_loop,
case GBB_LOOP_SING_EXIT_HEADER:
{
- vec<sd_region> regions;
- regions.create (3);
+ stack_vec<sd_region, 3> regions;
struct scopdet_info sinfo;
edge exit_e = single_exit (loop);
@@ -541,8 +540,7 @@ scopdet_basic_block_info (basic_block bb, loop_p outermost_loop,
{
/* XXX: For now we just do not join loops with multiple exits. If the
exits lead to the same bb it may be possible to join the loop. */
- vec<sd_region> regions;
- regions.create (3);
+ stack_vec<sd_region, 3> regions;
vec<edge> exits = get_loop_exit_edges (loop);
edge e;
int i;
@@ -585,8 +583,7 @@ scopdet_basic_block_info (basic_block bb, loop_p outermost_loop,
}
case GBB_COND_HEADER:
{
- vec<sd_region> regions;
- regions.create (3);
+ stack_vec<sd_region, 3> regions;
struct scopdet_info sinfo;
vec<basic_block> dominated;
int i;
@@ -1189,8 +1186,7 @@ print_graphite_statistics (FILE* file, vec<scop_p> scops)
static void
limit_scops (vec<scop_p> *scops)
{
- vec<sd_region> regions;
- regions.create (3);
+ stack_vec<sd_region, 3> regions;
int i;
scop_p scop;
@@ -1225,7 +1221,6 @@ limit_scops (vec<scop_p> *scops)
create_sese_edges (regions);
build_graphite_scops (regions, scops);
- regions.release ();
}
/* Returns true when P1 and P2 are close phis with the same
@@ -1404,8 +1399,7 @@ void
build_scops (vec<scop_p> *scops)
{
struct loop *loop = current_loops->tree_root;
- vec<sd_region> regions;
- regions.create (3);
+ stack_vec<sd_region, 3> regions;
canonicalize_loop_closed_ssa_form ();
build_scops_1 (single_succ (ENTRY_BLOCK_PTR), ENTRY_BLOCK_PTR->loop_father,
@@ -1595,7 +1589,7 @@ dot_all_scops (vec<scop_p> scops)
DEBUG_FUNCTION void
dot_scop (scop_p scop)
{
- vec<scop_p> scops = vNULL;
+ stack_vec<scop_p, 1> scops;
if (scop)
scops.safe_push (scop);
@@ -1615,8 +1609,6 @@ dot_scop (scop_p scop)
#else
dot_all_scops_1 (stderr, scops);
#endif
-
- scops.release ();
}
#endif