From: Jan Hubicka Date: Fri, 26 Sep 2014 01:49:40 +0000 (+0200) Subject: ipa-prop.c (ipa_intraprocedural_devirtualization): Remove. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6eb0ae29ec058a56434c43ebd8c8b3741bf6475c;p=gcc.git ipa-prop.c (ipa_intraprocedural_devirtualization): Remove. * ipa-prop.c (ipa_intraprocedural_devirtualization): Remove. * ipa-prop.h (ipa_intraprocedural_devirtualization): Remove. * tree-ssa-prop.c (eliminate_dom_walker::before_dom_children): Remove. From-SVN: r215628 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 85dd75050ea..e19ba1f4835 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-09-25 Jan Hubicka + + * ipa-prop.c (ipa_intraprocedural_devirtualization): Remove. + * ipa-prop.h (ipa_intraprocedural_devirtualization): Remove. + * tree-ssa-prop.c (eliminate_dom_walker::before_dom_children): + Remove. + 2014-09-25 Jan Hubicka * ipa-utils.h (subbinfo_with_vtable_at_offset, type_all_derivations_known_p, diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index 36949e32709..34d4c0207d1 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -2566,36 +2566,6 @@ ipa_analyze_node (struct cgraph_node *node) pop_cfun (); } -/* Given a statement CALL which must be a GIMPLE_CALL calling an OBJ_TYPE_REF - attempt a type-based devirtualization. If successful, return the - target function declaration, otherwise return NULL. */ - -tree -ipa_intraprocedural_devirtualization (gimple call) -{ - tree binfo, token, fndecl; - struct ipa_jump_func jfunc; - tree otr = gimple_call_fn (call); - - jfunc.type = IPA_JF_UNKNOWN; - compute_known_type_jump_func (OBJ_TYPE_REF_OBJECT (otr), &jfunc, - call, obj_type_ref_class (otr)); - if (jfunc.type != IPA_JF_KNOWN_TYPE) - return NULL_TREE; - binfo = ipa_binfo_from_known_type_jfunc (&jfunc); - if (!binfo) - return NULL_TREE; - token = OBJ_TYPE_REF_TOKEN (otr); - fndecl = gimple_get_virt_method_for_binfo (tree_to_uhwi (token), - binfo); -#ifdef ENABLE_CHECKING - if (fndecl) - gcc_assert (possible_polymorphic_call_target_p - (otr, call, cgraph_node::get (fndecl))); -#endif - return fndecl; -} - /* Update the jump function DST when the call graph edge corresponding to SRC is is being inlined, knowing that DST is of type ancestor and src of known type. */ diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h index a6db8f67ede..27a1697d082 100644 --- a/gcc/ipa-prop.h +++ b/gcc/ipa-prop.h @@ -587,7 +587,6 @@ tree ipa_get_indirect_edge_target (struct cgraph_edge *ie, vec ); struct cgraph_edge *ipa_make_edge_direct_to_target (struct cgraph_edge *, tree); tree ipa_binfo_from_known_type_jfunc (struct ipa_jump_func *); -tree ipa_intraprocedural_devirtualization (gimple); tree ipa_impossible_devirt_target (struct cgraph_edge *, tree); /* Functions related to both. */ diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index 235846ff927..cbbd4220433 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -4314,8 +4314,6 @@ eliminate_dom_walker::before_dom_children (basic_block b) gimple_call_set_fndecl (stmt, fn); gimple_set_modified (stmt, true); } - else - gcc_assert (!ipa_intraprocedural_devirtualization (stmt)); } }