From 8f48c62273af6ac7a4583d7588c07752f2a86689 Mon Sep 17 00:00:00 2001 From: Trevor Saunders Date: Sun, 14 May 2017 00:39:08 +0000 Subject: [PATCH] make more vars auto_sbitmaps gcc/ChangeLog: 2017-05-13 Trevor Saunders * ddg.c (find_nodes_on_paths): Use auto_sbitmap. (longest_simple_path): Likewise. * shrink-wrap.c (spread_components): Likewise. (disqualify_problematic_components): Likewise. (emit_common_heads_for_components): Likewise. (emit_common_tails_for_components): Likewise. (insert_prologue_epilogue_for_components): Likewise. From-SVN: r248025 --- gcc/ChangeLog | 10 ++++++++++ gcc/ddg.c | 26 ++++++++------------------ gcc/shrink-wrap.c | 38 +++++++++++--------------------------- 3 files changed, 29 insertions(+), 45 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fd3dcc5c4fe..5e3f658791e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2017-05-13 Trevor Saunders + + * ddg.c (find_nodes_on_paths): Use auto_sbitmap. + (longest_simple_path): Likewise. + * shrink-wrap.c (spread_components): Likewise. + (disqualify_problematic_components): Likewise. + (emit_common_heads_for_components): Likewise. + (emit_common_tails_for_components): Likewise. + (insert_prologue_epilogue_for_components): Likewise. + 2017-05-13 Trevor Saunders * tree-ssa-dse.c (dse_dom_walker): Make m_live_byes a diff --git a/gcc/ddg.c b/gcc/ddg.c index 9ea98d6f40f..8aaed80dec4 100644 --- a/gcc/ddg.c +++ b/gcc/ddg.c @@ -1081,16 +1081,15 @@ free_ddg_all_sccs (ddg_all_sccs_ptr all_sccs) int find_nodes_on_paths (sbitmap result, ddg_ptr g, sbitmap from, sbitmap to) { - int answer; int change; unsigned int u = 0; int num_nodes = g->num_nodes; sbitmap_iterator sbi; - sbitmap workset = sbitmap_alloc (num_nodes); - sbitmap reachable_from = sbitmap_alloc (num_nodes); - sbitmap reach_to = sbitmap_alloc (num_nodes); - sbitmap tmp = sbitmap_alloc (num_nodes); + auto_sbitmap workset (num_nodes); + auto_sbitmap reachable_from (num_nodes); + auto_sbitmap reach_to (num_nodes); + auto_sbitmap tmp (num_nodes); bitmap_copy (reachable_from, from); bitmap_copy (tmp, from); @@ -1150,12 +1149,7 @@ find_nodes_on_paths (sbitmap result, ddg_ptr g, sbitmap from, sbitmap to) } } - answer = bitmap_and (result, reachable_from, reach_to); - sbitmap_free (workset); - sbitmap_free (reachable_from); - sbitmap_free (reach_to); - sbitmap_free (tmp); - return answer; + return bitmap_and (result, reachable_from, reach_to); } @@ -1195,10 +1189,9 @@ longest_simple_path (struct ddg * g, int src, int dest, sbitmap nodes) int i; unsigned int u = 0; int change = 1; - int result; int num_nodes = g->num_nodes; - sbitmap workset = sbitmap_alloc (num_nodes); - sbitmap tmp = sbitmap_alloc (num_nodes); + auto_sbitmap workset (num_nodes); + auto_sbitmap tmp (num_nodes); /* Data will hold the distance of the longest path found so far from @@ -1224,10 +1217,7 @@ longest_simple_path (struct ddg * g, int src, int dest, sbitmap nodes) change |= update_dist_to_successors (u_node, nodes, tmp); } } - result = g->nodes[dest].aux.count; - sbitmap_free (workset); - sbitmap_free (tmp); - return result; + return g->nodes[dest].aux.count; } #endif /* INSN_SCHEDULING */ diff --git a/gcc/shrink-wrap.c b/gcc/shrink-wrap.c index 492376d949b..1ac4ea3b054 100644 --- a/gcc/shrink-wrap.c +++ b/gcc/shrink-wrap.c @@ -1264,7 +1264,7 @@ spread_components (sbitmap components) todo.create (n_basic_blocks_for_fn (cfun)); auto_bitmap seen; - sbitmap old = sbitmap_alloc (SBITMAP_SIZE (components)); + auto_sbitmap old (SBITMAP_SIZE (components)); /* Find for every block the components that are *not* needed on some path from the entry to that block. Do this with a flood fill from the entry @@ -1390,8 +1390,6 @@ spread_components (sbitmap components) fprintf (dump_file, "\n"); } } - - sbitmap_free (old); } /* If we cannot handle placing some component's prologues or epilogues where @@ -1400,8 +1398,8 @@ spread_components (sbitmap components) static void disqualify_problematic_components (sbitmap components) { - sbitmap pro = sbitmap_alloc (SBITMAP_SIZE (components)); - sbitmap epi = sbitmap_alloc (SBITMAP_SIZE (components)); + auto_sbitmap pro (SBITMAP_SIZE (components)); + auto_sbitmap epi (SBITMAP_SIZE (components)); basic_block bb; FOR_EACH_BB_FN (bb, cfun) @@ -1466,9 +1464,6 @@ disqualify_problematic_components (sbitmap components) } } } - - sbitmap_free (pro); - sbitmap_free (epi); } /* Place code for prologues and epilogues for COMPONENTS where we can put @@ -1476,9 +1471,9 @@ disqualify_problematic_components (sbitmap components) static void emit_common_heads_for_components (sbitmap components) { - sbitmap pro = sbitmap_alloc (SBITMAP_SIZE (components)); - sbitmap epi = sbitmap_alloc (SBITMAP_SIZE (components)); - sbitmap tmp = sbitmap_alloc (SBITMAP_SIZE (components)); + auto_sbitmap pro (SBITMAP_SIZE (components)); + auto_sbitmap epi (SBITMAP_SIZE (components)); + auto_sbitmap tmp (SBITMAP_SIZE (components)); basic_block bb; FOR_ALL_BB_FN (bb, cfun) @@ -1554,10 +1549,6 @@ emit_common_heads_for_components (sbitmap components) bitmap_ior (SW (bb)->head_components, SW (bb)->head_components, epi); } } - - sbitmap_free (pro); - sbitmap_free (epi); - sbitmap_free (tmp); } /* Place code for prologues and epilogues for COMPONENTS where we can put @@ -1565,9 +1556,9 @@ emit_common_heads_for_components (sbitmap components) static void emit_common_tails_for_components (sbitmap components) { - sbitmap pro = sbitmap_alloc (SBITMAP_SIZE (components)); - sbitmap epi = sbitmap_alloc (SBITMAP_SIZE (components)); - sbitmap tmp = sbitmap_alloc (SBITMAP_SIZE (components)); + auto_sbitmap pro (SBITMAP_SIZE (components)); + auto_sbitmap epi (SBITMAP_SIZE (components)); + auto_sbitmap tmp (SBITMAP_SIZE (components)); basic_block bb; FOR_ALL_BB_FN (bb, cfun) @@ -1664,10 +1655,6 @@ emit_common_tails_for_components (sbitmap components) bitmap_ior (SW (bb)->tail_components, SW (bb)->tail_components, pro); } } - - sbitmap_free (pro); - sbitmap_free (epi); - sbitmap_free (tmp); } /* Place prologues and epilogues for COMPONENTS on edges, if we haven't already @@ -1675,8 +1662,8 @@ emit_common_tails_for_components (sbitmap components) static void insert_prologue_epilogue_for_components (sbitmap components) { - sbitmap pro = sbitmap_alloc (SBITMAP_SIZE (components)); - sbitmap epi = sbitmap_alloc (SBITMAP_SIZE (components)); + auto_sbitmap pro (SBITMAP_SIZE (components)); + auto_sbitmap epi (SBITMAP_SIZE (components)); basic_block bb; FOR_EACH_BB_FN (bb, cfun) @@ -1754,9 +1741,6 @@ insert_prologue_epilogue_for_components (sbitmap components) } } - sbitmap_free (pro); - sbitmap_free (epi); - commit_edge_insertions (); } -- 2.30.2