summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-08-23 17:55:22 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-08-23 15:55:22 +0000
commit64cbf23d1f42c3ac9e545077868c6b669c1b5b5c (patch)
tree2e1a9c0b0d0fe3d55d04432be9805968347279f3
parentc4be65686206f422b2a3401b2e18bccf830984f4 (diff)
downloadgcc-64cbf23d1f42c3ac9e545077868c6b669c1b5b5c.tar.gz
ipa-utils.h (method_class_type): Declare.
* ipa-utils.h (method_class_type): Declare. * ipa-devirt.c (method_class_type): Export. * cgraphunit.c (analyze_functions): Do basic devirtualization; do not walk base classes of anonymous types. From-SVN: r201944
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/ipa-devirt.c2
-rw-r--r--gcc/ipa-utils.h1
3 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 76609fb7416..1f99c1e7322 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2013-08-23 Jan Hubicka <jh@suse.cz>
+ * ipa-utils.h (method_class_type): Declare.
+ * ipa-devirt.c (method_class_type): Export.
+
* cgraphunit.c (analyze_functions): Do basic devirtualization;
do not walk base classes of anonymous types.
diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c
index 4daf6b451d9..0b678bd750d 100644
--- a/gcc/ipa-devirt.c
+++ b/gcc/ipa-devirt.c
@@ -342,7 +342,7 @@ dump_type_inheritance_graph (FILE *f)
/* Given method type T, return type of class it belongs to.
Lookup this pointer and get its type. */
-static tree
+tree
method_class_type (tree t)
{
tree first_parm_type = TREE_VALUE (TYPE_ARG_TYPES (t));
diff --git a/gcc/ipa-utils.h b/gcc/ipa-utils.h
index 3c6c93c10a1..427245509b0 100644
--- a/gcc/ipa-utils.h
+++ b/gcc/ipa-utils.h
@@ -59,6 +59,7 @@ odr_type get_odr_type (tree, bool insert = false);
void dump_possible_polymorphic_call_targets (FILE *, tree, HOST_WIDE_INT);
bool possible_polymorphic_call_target_p (tree, HOST_WIDE_INT,
struct cgraph_node *n);
+tree method_class_type (tree);
/* Return vector containing possible targets of polymorphic call E.
If FINALP is non-NULL, store true if the list is complette.