diff options
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r-- | gcc/tree-ssa-pre.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index 113ec8334cd..38d5d2b8632 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -306,7 +306,7 @@ static alloc_pool value_set_node_pool; static alloc_pool binary_node_pool; static alloc_pool unary_node_pool; static alloc_pool reference_node_pool; -static struct obstack grand_bitmap_obstack; +static bitmap_obstack grand_bitmap_obstack; /* Set of blocks with statements that have had its EH information cleaned up. */ @@ -462,10 +462,7 @@ value_insert_into_set_bitmap (value_set_t set, tree v) gcc_assert (set->indexed); if (set->values == NULL) - { - set->values = BITMAP_OBSTACK_ALLOC (&grand_bitmap_obstack); - bitmap_clear (set->values); - } + set->values = BITMAP_OBSTACK_ALLOC (&grand_bitmap_obstack); bitmap_set_bit (set->values, VALUE_HANDLE_ID (v)); } @@ -479,8 +476,6 @@ bitmap_set_new (void) bitmap_set_t ret = pool_alloc (bitmap_set_pool); ret->expressions = BITMAP_OBSTACK_ALLOC (&grand_bitmap_obstack); ret->values = BITMAP_OBSTACK_ALLOC (&grand_bitmap_obstack); - bitmap_clear (ret->expressions); - bitmap_clear (ret->values); return ret; } @@ -1927,7 +1922,7 @@ init_pre (void) FOR_ALL_BB (bb) bb->aux = xcalloc (1, sizeof (struct bb_value_sets)); - gcc_obstack_init (&grand_bitmap_obstack); + bitmap_obstack_initialize (&grand_bitmap_obstack); phi_translate_table = htab_create (511, expr_pred_trans_hash, expr_pred_trans_eq, free); value_set_pool = create_alloc_pool ("Value sets", @@ -1966,7 +1961,7 @@ fini_pre (void) bsi_commit_edge_inserts (); - obstack_free (&grand_bitmap_obstack, NULL); + bitmap_obstack_release (&grand_bitmap_obstack); free_alloc_pool (value_set_pool); free_alloc_pool (bitmap_set_pool); free_alloc_pool (value_set_node_pool); |