diff options
author | Jan Hubicka <jh@suse.cz> | 2013-08-22 11:32:07 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2013-08-22 09:32:07 +0000 |
commit | 0e1474e5a6b808f10e251e2e1f3519f9f291d093 (patch) | |
tree | 4a67019baa93af0815f23244fb5d3620e2978469 /gcc/cgraphunit.c | |
parent | e280b6ffe7f9f98573b29360dc36f4f7e41f35b4 (diff) | |
download | gcc-0e1474e5a6b808f10e251e2e1f3519f9f291d093.zip gcc-0e1474e5a6b808f10e251e2e1f3519f9f291d093.tar.gz gcc-0e1474e5a6b808f10e251e2e1f3519f9f291d093.tar.bz2 |
* cgraphunit.c (analyze_functions) Use update_type_inheritance_graph.
* ipa-utils.h (update_type_inheritance_graph): Declare.
(possible_polymorphic_call_target_p): Declare.
(possible_polymorphic_call_target_p): New.
* ipa-devirt.c: Update toplevel comments.
(cached_polymorphic_call_targets): Move up.
(odr_type_d): Move ID down.
(polymorphic_type_binfo_p): Update comment.
(odr_hasher::remove): Likewise;
(get_odr_type): Set anonymous_namespace.
(dump_odr_type): Dump it.
(dump_type_inheritance_graph): Do not ICE when there are no ODR types.
(maybe_record_node): Record node in cached_polymorphic_call_targets.
(record_binfo): Add comment.
(free_polymorphic_call_targets_hash): Do not ICE when cache is not built.
(devirt_node_removal_hook): Do not iCE when cache is freed.
(possible_polymorphic_call_target_p): New predicate.
(update_type_inheritance_graph): New function.
From-SVN: r201917
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 0aa68c7..0b839b0 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -976,6 +976,8 @@ analyze_functions (void) cgraph_process_new_functions (); } } + if (optimize && flag_devirtualize) + update_type_inheritance_graph (); /* Collect entry points to the unit. */ if (cgraph_dump_file) |