From 6f8091fc3ed9d3cfa7a6dee7e9f9a34eb4308b2a Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Sat, 20 Sep 2014 08:22:58 +0200 Subject: 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 --- gcc/tree-ssa-pre.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'gcc/tree-ssa-pre.c') 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 targets -- cgit v1.1