From d570d364e65622ce12e1153a5a71e5086ae52bff Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Wed, 2 Jul 2014 09:48:00 +0200 Subject: ipa-utils.h (method_class_type, [...]): Constify. * ipa-utils.h (method_class_type, vtable_pointer_value_to_binfo, vtable_pointer_value_to_vtable): Constify. (contains_polymorphic_type_p): Declare. * ipa-devirt.c (method_class_type, vtable_pointer_value_to_binfo, vtable_pointer_value_to_vtable): Constify. (contains_polymorphic_type_p): New predicate. * ipa-prop.c (ipa_set_jf_known_type): Allow types containing polymorphic types. (ipa_set_ancestor_jf): Likewise. (detect_type_change): Return false in easy cases. (compute_complex_assign_jump_func): Require type to contain polymorphic type. (compute_known_type_jump_func): Likewise. From-SVN: r212222 --- gcc/ipa-utils.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'gcc/ipa-utils.h') diff --git a/gcc/ipa-utils.h b/gcc/ipa-utils.h index a2c985a..82aa23f 100644 --- a/gcc/ipa-utils.h +++ b/gcc/ipa-utils.h @@ -83,15 +83,16 @@ void dump_possible_polymorphic_call_targets (FILE *, tree, HOST_WIDE_INT, const ipa_polymorphic_call_context &); bool possible_polymorphic_call_target_p (tree, HOST_WIDE_INT, const ipa_polymorphic_call_context &, - struct cgraph_node *n); -tree method_class_type (tree); + struct cgraph_node *); +tree method_class_type (const_tree); tree get_polymorphic_call_info (tree, tree, tree *, HOST_WIDE_INT *, ipa_polymorphic_call_context *); bool get_polymorphic_call_info_from_invariant (ipa_polymorphic_call_context *, tree, tree, HOST_WIDE_INT); -tree vtable_pointer_value_to_binfo (tree t); -bool vtable_pointer_value_to_vtable (tree, tree *, unsigned HOST_WIDE_INT *); +tree vtable_pointer_value_to_binfo (const_tree); +bool vtable_pointer_value_to_vtable (const_tree, tree *, unsigned HOST_WIDE_INT *); +bool contains_polymorphic_type_p (const_tree); /* Return vector containing possible targets of polymorphic call E. If FINALP is non-NULL, store true if the list is complette. -- cgit v1.1