diff options
Diffstat (limited to 'gcc/tree-optimize.c')
-rw-r--r-- | gcc/tree-optimize.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c index 53356b9..87c73ad 100644 --- a/gcc/tree-optimize.c +++ b/gcc/tree-optimize.c @@ -636,12 +636,21 @@ tree_rest_of_compilation (tree fndecl) while (node->callees) cgraph_remove_edge (node->callees); - if (!vars_to_rename) - vars_to_rename = BITMAP_XMALLOC (); + /* Initialize the default bitmap obstack. */ + bitmap_obstack_initialize (NULL); + bitmap_obstack_initialize (®_obstack); /* FIXME, only at RTL generation*/ + + vars_to_rename = BITMAP_XMALLOC (); + /* Perform all tree transforms and optimizations. */ execute_pass_list (all_passes); + + bitmap_obstack_release (®_obstack); + /* Release the default bitmap obstack. */ + bitmap_obstack_release (NULL); + /* Restore original body if still needed. */ if (cfun->saved_tree) { |