diff options
author | Trevor Saunders <tsaunders@mozilla.com> | 2013-11-14 05:56:59 -0500 |
---|---|---|
committer | Trevor Saunders <tsaunders@mozilla.com> | 2013-11-15 20:10:56 -0500 |
commit | 994ab8bb4b8a0ba60ddb3a669f510dd56d7ccae4 (patch) | |
tree | 4ee2d43c1f02a52325af9bde6e5cafac422034a0 /gcc/tree-ssa-loop-im.c | |
parent | c5e121d5bfabffc4b75c327a374816fc6a01fd6d (diff) | |
download | gcc-994ab8bb4b8a0ba60ddb3a669f510dd56d7ccae4.tar.gz |
add ctor / dtor to bitmap_head
Diffstat (limited to 'gcc/tree-ssa-loop-im.c')
-rw-r--r-- | gcc/tree-ssa-loop-im.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c index 34a37633a48..a78a2d55f21 100644 --- a/gcc/tree-ssa-loop-im.c +++ b/gcc/tree-ssa-loop-im.c @@ -2285,20 +2285,19 @@ store_motion_loop (struct loop *loop, bitmap sm_executed) { vec<edge> exits = get_loop_exit_edges (loop); struct loop *subloop; - bitmap sm_in_loop = BITMAP_ALLOC (&lim_bitmap_obstack); + bitmap_head sm_in_loop (&lim_bitmap_obstack); if (loop_suitable_for_sm (loop, exits)) { - find_refs_for_sm (loop, sm_executed, sm_in_loop); - hoist_memory_references (loop, sm_in_loop, exits); + find_refs_for_sm (loop, sm_executed, &sm_in_loop); + hoist_memory_references (loop, &sm_in_loop, exits); } exits.release (); - bitmap_ior_into (sm_executed, sm_in_loop); + bitmap_ior_into (sm_executed, &sm_in_loop); for (subloop = loop->inner; subloop != NULL; subloop = subloop->next) store_motion_loop (subloop, sm_executed); - bitmap_and_compl_into (sm_executed, sm_in_loop); - BITMAP_FREE (sm_in_loop); + bitmap_and_compl_into (sm_executed, &sm_in_loop); } /* Try to perform store motion for all memory references modified inside @@ -2308,12 +2307,11 @@ static void store_motion (void) { struct loop *loop; - bitmap sm_executed = BITMAP_ALLOC (&lim_bitmap_obstack); + bitmap_head sm_executed (&lim_bitmap_obstack); for (loop = current_loops->tree_root->inner; loop != NULL; loop = loop->next) - store_motion_loop (loop, sm_executed); + store_motion_loop (loop, &sm_executed); - BITMAP_FREE (sm_executed); gsi_commit_edge_inserts (); } |