diff options
author | Jan Hubicka <jh@suse.cz> | 2010-09-18 23:25:29 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-09-18 21:25:29 +0000 |
commit | 1389294cc3eb1e74f9c9418487a451f9f8660b52 (patch) | |
tree | e751694fc67828e19064bc55f35a8e2b55757c5e /gcc/cgraphunit.c | |
parent | 6eb208a69cd0b7d93c3f22f4298062ccdc2f7c83 (diff) | |
download | gcc-1389294cc3eb1e74f9c9418487a451f9f8660b52.zip gcc-1389294cc3eb1e74f9c9418487a451f9f8660b52.tar.gz gcc-1389294cc3eb1e74f9c9418487a451f9f8660b52.tar.bz2 |
re PR tree-optimization/45605 (Missed devirtualization)
PR tree-optimization/45605
* cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack.
* gimple-fold.c (static_object_in_other_unit_p): New function.
(canonicalize_constructor_val): Use it.
(get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val
returning NULL.
(gimple_fold_obj_type_ref_known_binfo): Use static_object_in_other_unit_p.
From-SVN: r164402
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r-- | gcc/cgraphunit.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 024a3bc..f296fe0 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -861,6 +861,7 @@ cgraph_analyze_functions (void) static struct varpool_node *first_analyzed_var; struct cgraph_node *node, *next; + bitmap_obstack_initialize (NULL); process_function_and_variable_attributes (first_processed, first_analyzed_var); first_processed = cgraph_nodes; @@ -971,6 +972,7 @@ cgraph_analyze_functions (void) fprintf (cgraph_dump_file, "\n\nReclaimed "); dump_cgraph (cgraph_dump_file); } + bitmap_obstack_release (NULL); first_analyzed = cgraph_nodes; ggc_collect (); } |