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
This commit is contained in:
Jan Hubicka 2014-09-26 03:49:40 +02:00 committed by Jan Hubicka
parent 9f442ef4a0
commit 6eb0ae29ec
4 changed files with 7 additions and 33 deletions

View file

@ -1,3 +1,10 @@
2014-09-25 Jan Hubicka <hubicka@ucw.cz>
* 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 <hubicka@ucw.cz>
* ipa-utils.h (subbinfo_with_vtable_at_offset, type_all_derivations_known_p,

View file

@ -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. */

View file

@ -587,7 +587,6 @@ tree ipa_get_indirect_edge_target (struct cgraph_edge *ie,
vec<ipa_agg_jump_function_p> );
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. */

View file

@ -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));
}
}