aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-cp.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-09-20 08:22:58 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2014-09-20 06:22:58 +0000
commit6f8091fc3ed9d3cfa7a6dee7e9f9a34eb4308b2a (patch)
tree369013d698ddb409805fffaae30510b6caa5d22f /gcc/ipa-cp.c
parent8e1ba78f1b8eedd6c65c6f0e6d6d09a801de5d3d (diff)
downloadgcc-6f8091fc3ed9d3cfa7a6dee7e9f9a34eb4308b2a.zip
gcc-6f8091fc3ed9d3cfa7a6dee7e9f9a34eb4308b2a.tar.gz
gcc-6f8091fc3ed9d3cfa7a6dee7e9f9a34eb4308b2a.tar.bz2
ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
* ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors. (possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets, possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify. (get_dynamic_type): Remove. * ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove. (clear_speculation): Bring to ipa-deivrt.h (get_class_context): Rename to ... (ipa_polymorphic_call_context::restrict_to_inner_class): ... this one. (contains_type_p): Update. (get_dynamic_type): Rename to ... ipa_polymorphic_call_context::get_dynamic_type(): ... this one. (possible_polymorphic_call_targets): UPdate. * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update. * ipa-prop.c (ipa_analyze_call_uses): Update. From-SVN: r215418
Diffstat (limited to 'gcc/ipa-cp.c')
-rw-r--r--gcc/ipa-cp.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index d365634..2ff3b9c 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -1618,14 +1618,11 @@ ipa_get_indirect_edge_target_1 (struct cgraph_edge *ie,
if (TREE_CODE (t) != TREE_BINFO)
{
- ipa_polymorphic_call_context context;
+ ipa_polymorphic_call_context context (t, ie->indirect_info->otr_type,
+ anc_offset);
vec <cgraph_node *>targets;
bool final;
- if (!get_polymorphic_call_info_from_invariant
- (&context, t, ie->indirect_info->otr_type,
- anc_offset))
- return NULL_TREE;
targets = possible_polymorphic_call_targets
(ie->indirect_info->otr_type,
ie->indirect_info->otr_token,