aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2004-09-07 22:51:25 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2004-09-07 20:51:25 +0000
commitc4817ba67ecd0e9c9ec8bb2771be05551f9ce195 (patch)
tree7b58d7467bc281216dc5da47d445926ac412ed9d /gcc
parent9f0df97afb590e40479e33806208870ad331467c (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/tree-ssa-pre.c9
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);