diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-09-20 06:22:58 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-09-20 06:22:58 +0000 |
commit | 379f66984633fc584760b802d804d03f2714a0da (patch) | |
tree | 369013d698ddb409805fffaae30510b6caa5d22f /gcc/tree-ssa-pre.c | |
parent | 78eb5b700d6ef59c9357dfa56547b48fcc4d593a (diff) | |
download | gcc-379f66984633fc584760b802d804d03f2714a0da.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215418 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r-- | gcc/tree-ssa-pre.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index 5f32b590969..235846ff927 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 |