From: Jan Hubicka Date: Tue, 7 Sep 2004 20:51:25 +0000 (+0200) Subject: tree-ssa-pre.c (grand_bitmap_obstack): New. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c4817ba67ecd0e9c9ec8bb2771be05551f9ce195;p=gcc.git tree-ssa-pre.c (grand_bitmap_obstack): New. * tree-ssa-pre.c (grand_bitmap_obstack): New. (value_insert_into_set_bitmap, bitmap_set_new): Use the obstack. (init_pre): Initialize obstack. (fini_pre): Free obstack. From-SVN: r87155 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 476069b3d4f..d00cc21e104 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-09-07 Jan Hubicka + + * tree-ssa-pre.c (grand_bitmap_obstack): New. + (value_insert_into_set_bitmap, bitmap_set_new): Use the obstack. + (init_pre): Initialize obstack. + (fini_pre): Free obstack. + 2004-09-07 David Daney * config.gcc: Added support for --with-divide=[breaks|traps] for diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index 870a0300757..ec12f62c008 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -306,6 +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; /* Set of blocks with statements that have had its EH information cleaned up. */ @@ -468,7 +469,7 @@ value_insert_into_set_bitmap (value_set_t set, tree v) if (set->values == NULL) { - set->values = BITMAP_GGC_ALLOC (); + set->values = BITMAP_OBSTACK_ALLOC (&grand_bitmap_obstack); bitmap_clear (set->values); } @@ -482,8 +483,8 @@ static bitmap_set_t bitmap_set_new (void) { bitmap_set_t ret = pool_alloc (bitmap_set_pool); - ret->expressions = BITMAP_GGC_ALLOC (); - ret->values = BITMAP_GGC_ALLOC (); + 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; @@ -1944,6 +1945,7 @@ init_pre (void) FOR_ALL_BB (bb) bb->aux = xcalloc (1, sizeof (struct bb_value_sets)); + gcc_obstack_init (&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", @@ -1980,6 +1982,7 @@ fini_pre (void) { basic_block bb; + obstack_free (&grand_bitmap_obstack, NULL); free_alloc_pool (value_set_pool); free_alloc_pool (bitmap_set_pool); free_alloc_pool (value_set_node_pool);