aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/ipa-utils.h
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-05-18 15:25:22 +0800
committerAndrew Hsieh <andrewhsieh@google.com>2015-05-26 14:21:39 +0800
commit4db4241dd512cf274d07b301215c715abfd9559f (patch)
tree8b66cda5b34d737bb14f43ec440fbd5da9e5fa1d /gcc-4.9/gcc/ipa-utils.h
parent1961df0f2c1c5f01e1e68f2db63151bcfc5aaa6f (diff)
downloadtoolchain_gcc-4db4241dd512cf274d07b301215c715abfd9559f.tar.gz
toolchain_gcc-4db4241dd512cf274d07b301215c715abfd9559f.tar.bz2
toolchain_gcc-4db4241dd512cf274d07b301215c715abfd9559f.zip
Cherry-pick r212222
BUG=19872411 2014-07-01 Jan Hubicka <hubicka@ucw.cz> * 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. Change-Id: If4b1a919f00fb1b23c6ebce84141c04120e0e2b6
Diffstat (limited to 'gcc-4.9/gcc/ipa-utils.h')
-rw-r--r--gcc-4.9/gcc/ipa-utils.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc-4.9/gcc/ipa-utils.h b/gcc-4.9/gcc/ipa-utils.h
index 4d609096a..b1b0d1a8a 100644
--- a/gcc-4.9/gcc/ipa-utils.h
+++ b/gcc-4.9/gcc/ipa-utils.h
@@ -87,15 +87,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.