summaryrefslogtreecommitdiff
path: root/gcc/cfgloopmanip.c
diff options
context:
space:
mode:
authortbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>2016-07-26 10:44:08 +0000
committertbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>2016-07-26 10:44:08 +0000
commit3c6549f839f8a20e05556cd302c3eb3e2816f21c (patch)
treeff74117885135e87c9fc9ad721f0180a6471bafc /gcc/cfgloopmanip.c
parent74db32d08d94804aceea529f6924dada33bf1668 (diff)
downloadgcc-3c6549f839f8a20e05556cd302c3eb3e2816f21c.tar.gz
use auto_sbitmap in various places
gcc/ChangeLog: 2016-07-26 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * bt-load.c (compute_out): Use auto_sbitmap class. (link_btr_uses): Likewise. * cfganal.c (mark_dfs_back_edges): Likewise. (post_order_compute): Likewise. (inverted_post_order_compute): Likewise. (pre_and_rev_post_order_compute_fn): Likewise. (single_pred_before_succ_order): Likewise. * cfgexpand.c (pass_expand::execute): Likewise. * cfgloop.c (verify_loop_structure): Likewise. * cfgloopmanip.c (fix_bb_placements): Likewise. (remove_path): Likewise. (update_dominators_in_loop): Likewise. * cfgrtl.c (break_superblocks): Likewise. * ddg.c (check_sccs): Likewise. (create_ddg_all_sccs): Likewise. * df-core.c (df_worklist_dataflow): Likewise. * dse.c (dse_step3): Likewise. * except.c (eh_region_outermost): Likewise. * function.c (thread_prologue_and_epilogue_insns): Likewise. * gcse.c (prune_expressions): Likewise. (prune_insertions_deletions): Likewise. * gimple-ssa-backprop.c (backprop::~backprop): Likewise. * graph.c (draw_cfg_nodes_no_loops): Likewise. * ira-lives.c (remove_some_program_points_and_update_live_ranges): Likewise. * lcm.c (compute_earliest): Likewise. (compute_farthest): Likewise. * loop-unroll.c (unroll_loop_constant_iterations): Likewise. (unroll_loop_runtime_iterations): Likewise. (unroll_loop_stupid): Likewise. * lower-subreg.c (decompose_multiword_subregs): Likewise. * lra-lives.c: Likewise. * lra.c (lra): Likewise. * modulo-sched.c (schedule_reg_moves): Likewise. (optimize_sc): Likewise. (get_sched_window): Likewise. (sms_schedule_by_order): Likewise. (check_nodes_order): Likewise. (order_nodes_of_sccs): Likewise. (order_nodes_in_scc): Likewise. * recog.c (split_all_insns): Likewise. * regcprop.c (pass_cprop_hardreg::execute): Likewise. * reload1.c (reload): Likewise. * sched-rgn.c (haifa_find_rgns): Likewise. (split_edges): Likewise. (compute_trg_info): Likewise. * sel-sched.c (init_seqno): Likewise. * store-motion.c (remove_reachable_equiv_notes): Likewise. * tree-into-ssa.c (update_ssa): Likewise. * tree-ssa-live.c (live_worklist): Likewise. * tree-ssa-loop-im.c (fill_always_executed_in): Likewise. * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): * Likewise. (try_peel_loop): Likewise. * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): * Likewise. * tree-ssa-pre.c (compute_antic): Likewise. * tree-ssa-reassoc.c (undistribute_ops_list): Likewise. * tree-stdarg.c (reachable_at_most_once): Likewise. * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Likewise. * var-tracking.c (vt_find_locations): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238748 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgloopmanip.c')
-rw-r--r--gcc/cfgloopmanip.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/gcc/cfgloopmanip.c b/gcc/cfgloopmanip.c
index 707a130d26a..6bd2d8570c1 100644
--- a/gcc/cfgloopmanip.c
+++ b/gcc/cfgloopmanip.c
@@ -181,7 +181,6 @@ fix_bb_placements (basic_block from,
bool *irred_invalidated,
bitmap loop_closed_ssa_invalidated)
{
- sbitmap in_queue;
basic_block *queue, *qtop, *qbeg, *qend;
struct loop *base_loop, *target_loop;
edge e;
@@ -201,7 +200,7 @@ fix_bb_placements (basic_block from,
|| from == base_loop->header)
return;
- in_queue = sbitmap_alloc (last_basic_block_for_fn (cfun));
+ auto_sbitmap in_queue (last_basic_block_for_fn (cfun));
bitmap_clear (in_queue);
bitmap_set_bit (in_queue, from->index);
/* Prevent us from going out of the base_loop. */
@@ -292,7 +291,6 @@ fix_bb_placements (basic_block from,
bitmap_set_bit (in_queue, pred->index);
}
}
- free (in_queue);
free (queue);
}
@@ -306,7 +304,6 @@ remove_path (edge e)
basic_block *rem_bbs, *bord_bbs, from, bb;
vec<basic_block> dom_bbs;
int i, nrem, n_bord_bbs;
- sbitmap seen;
bool irred_invalidated = false;
edge_iterator ei;
struct loop *l, *f;
@@ -345,7 +342,7 @@ remove_path (edge e)
n_bord_bbs = 0;
bord_bbs = XNEWVEC (basic_block, n_basic_blocks_for_fn (cfun));
- seen = sbitmap_alloc (last_basic_block_for_fn (cfun));
+ auto_sbitmap seen (last_basic_block_for_fn (cfun));
bitmap_clear (seen);
/* Find "border" hexes -- i.e. those with predecessor in removed path. */
@@ -407,8 +404,6 @@ remove_path (edge e)
dom_bbs.safe_push (ldom);
}
- free (seen);
-
/* Recount dominators. */
iterate_fix_dominators (CDI_DOMINATORS, dom_bbs, true);
dom_bbs.release ();
@@ -616,11 +611,10 @@ static void
update_dominators_in_loop (struct loop *loop)
{
vec<basic_block> dom_bbs = vNULL;
- sbitmap seen;
basic_block *body;
unsigned i;
- seen = sbitmap_alloc (last_basic_block_for_fn (cfun));
+ auto_sbitmap seen (last_basic_block_for_fn (cfun));
bitmap_clear (seen);
body = get_loop_body (loop);
@@ -643,7 +637,6 @@ update_dominators_in_loop (struct loop *loop)
iterate_fix_dominators (CDI_DOMINATORS, dom_bbs, false);
free (body);
- free (seen);
dom_bbs.release ();
}