aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-08-22 11:32:07 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-08-22 09:32:07 +0000
commit0e1474e5a6b808f10e251e2e1f3519f9f291d093 (patch)
tree4a67019baa93af0815f23244fb5d3620e2978469 /gcc/cgraphunit.c
parente280b6ffe7f9f98573b29360dc36f4f7e41f35b4 (diff)
downloadgcc-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.c2
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)