aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.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/tree-ssa-pre.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/tree-ssa-pre.c')
-rw-r--r--gcc/tree-ssa-pre.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index 5f32b59..235846f 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -4277,16 +4277,11 @@ eliminate_dom_walker::before_dom_children (basic_block b)
&& flag_devirtualize
&& virtual_method_call_p (fn))
{
- tree otr_type;
- HOST_WIDE_INT otr_token;
- ipa_polymorphic_call_context context;
+ tree otr_type = obj_type_ref_class (fn);
tree instance;
+ ipa_polymorphic_call_context context (current_function_decl, fn, stmt, &instance);
bool final;
- instance = get_polymorphic_call_info (current_function_decl,
- fn,
- &otr_type, &otr_token, &context, stmt);
-
context.get_dynamic_type (instance, OBJ_TYPE_REF_OBJECT (fn), otr_type, stmt);
vec <cgraph_node *>targets