diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2014-07-02 09:48:00 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2014-07-02 07:48:00 +0000 |
commit | d570d364e65622ce12e1153a5a71e5086ae52bff (patch) | |
tree | 225514c436ac69e07051d75ed16ed73298df840f /gcc/ipa-utils.h | |
parent | a90532fda138310a184d7766f660f7fb80d94b25 (diff) | |
download | gcc-d570d364e65622ce12e1153a5a71e5086ae52bff.zip gcc-d570d364e65622ce12e1153a5a71e5086ae52bff.tar.gz gcc-d570d364e65622ce12e1153a5a71e5086ae52bff.tar.bz2 |
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
Diffstat (limited to 'gcc/ipa-utils.h')
-rw-r--r-- | gcc/ipa-utils.h | 9 |
1 files changed, 5 insertions, 4 deletions
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. |