diff options
author | Jan Hubicka <jh@suse.cz> | 2004-09-07 22:51:25 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2004-09-07 20:51:25 +0000 |
commit | c4817ba67ecd0e9c9ec8bb2771be05551f9ce195 (patch) | |
tree | 7b58d7467bc281216dc5da47d445926ac412ed9d /gcc | |
parent | 9f0df97afb590e40479e33806208870ad331467c (diff) | |
download | gcc-c4817ba67ecd0e9c9ec8bb2771be05551f9ce195.zip gcc-c4817ba67ecd0e9c9ec8bb2771be05551f9ce195.tar.gz gcc-c4817ba67ecd0e9c9ec8bb2771be05551f9ce195.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/tree-ssa-pre.c | 9 |
2 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 476069b..d00cc21 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-09-07 Jan Hubicka <jh@suse.cz> + + * 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 <ddaney@avtrex.com> * 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 870a030..ec12f62 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); |