aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-utils.h
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-07-02 09:48:00 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2014-07-02 07:48:00 +0000
commitd570d364e65622ce12e1153a5a71e5086ae52bff (patch)
tree225514c436ac69e07051d75ed16ed73298df840f /gcc/ipa-utils.h
parenta90532fda138310a184d7766f660f7fb80d94b25 (diff)
downloadgcc-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.h9
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.