Commit d40e2362 by Jan Hubicka Committed by Jan Hubicka

ipa-prop.c (ipa_propagate_indirect_call_infos): Remove ipa edge args summaries…

ipa-prop.c (ipa_propagate_indirect_call_infos): Remove ipa edge args summaries of inlined edge unless...

	* ipa-prop.c (ipa_propagate_indirect_call_infos): Remove ipa edge
	args summaries of inlined edge unless it holds info about
	described reference.

From-SVN: r278020
parent 7901a85f
2019-11-10 Jan Hubicka <hubicka@ucw.cz>
* ipa-prop.c (ipa_propagate_indirect_call_infos): Remove ipa edge
args summaries of inlined edge unless it holds info about
described reference.
2019-11-10 Segher Boessenkool <segher@kernel.crashing.org> 2019-11-10 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (CC_any): New mode iterator. * config/rs6000/rs6000.md (CC_any): New mode iterator.
...@@ -3727,6 +3727,26 @@ ipa_propagate_indirect_call_infos (struct cgraph_edge *cs, ...@@ -3727,6 +3727,26 @@ ipa_propagate_indirect_call_infos (struct cgraph_edge *cs,
changed = propagate_info_to_inlined_callees (cs, cs->callee, new_edges); changed = propagate_info_to_inlined_callees (cs, cs->callee, new_edges);
ipa_node_params_sum->remove (cs->callee); ipa_node_params_sum->remove (cs->callee);
class ipa_edge_args *args = IPA_EDGE_REF (cs);
if (args)
{
bool ok = true;
if (args->jump_functions)
{
struct ipa_jump_func *jf;
int i;
FOR_EACH_VEC_ELT (*args->jump_functions, i, jf)
if (jf->type == IPA_JF_CONST
&& ipa_get_jf_constant_rdesc (jf))
{
ok = false;
break;
}
}
if (ok)
ipa_edge_args_sum->remove (cs);
}
return changed; return changed;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment