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:
parent
9f442ef4a0
commit
6eb0ae29ec
4 changed files with 7 additions and 33 deletions
|
@ -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,
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue