diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2015-05-18 15:25:22 +0800 |
---|---|---|
committer | Andrew Hsieh <andrewhsieh@google.com> | 2015-05-26 14:21:39 +0800 |
commit | 4db4241dd512cf274d07b301215c715abfd9559f (patch) | |
tree | 8b66cda5b34d737bb14f43ec440fbd5da9e5fa1d /gcc-4.9/gcc/ipa-utils.h | |
parent | 1961df0f2c1c5f01e1e68f2db63151bcfc5aaa6f (diff) | |
download | toolchain_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.h | 9 |
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. |