aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrevor Saunders <tbsaunde+gcc@tbsaunde.org>2017-05-14 00:39:08 +0000
committerTrevor Saunders <tbsaunde@gcc.gnu.org>2017-05-14 00:39:08 +0000
commit8f48c62273af6ac7a4583d7588c07752f2a86689 (patch)
tree229119b42abcb983fbd6fc1aa9c6da87e1ea5323
parent0236bb04126d2700e257ab5d3e52f787ec40c63f (diff)
downloadgcc-8f48c62273af6ac7a4583d7588c07752f2a86689.zip
gcc-8f48c62273af6ac7a4583d7588c07752f2a86689.tar.gz
gcc-8f48c62273af6ac7a4583d7588c07752f2a86689.tar.bz2
make more vars auto_sbitmaps
gcc/ChangeLog: 2017-05-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * 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
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/ddg.c26
-rw-r--r--gcc/shrink-wrap.c38
3 files changed, 29 insertions, 45 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fd3dcc5..5e3f658 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,15 @@
2017-05-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+ * 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 <tbsaunde+gcc@tbsaunde.org>
+
* tree-ssa-dse.c (dse_dom_walker): Make m_live_byes a
auto_sbitmap.
diff --git a/gcc/ddg.c b/gcc/ddg.c
index 9ea98d6..8aaed80 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 492376d..1ac4ea3 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 ();
}