On Wed, Oct 30, 2019 at 1:06 PM Martin Jambor <mjam...@suse.cz> wrote: > > Hi, > > On Wed, Oct 30 2019, Jan Hubicka wrote: > > Hi, > > this patch fixes another place we may have missing argument summary. > > Here the situation is that the call site being inlined has no jump > > functions while function which is being inlines has another call with > > jump function. This can validly happen when we inline into functions > > with indirect inlining and ipa-cp disabled but I am not 100% why it > > happens i.e. during Firefox builds. Martin, do you have any ideas? > > No, not without seeing what is going on. I think we compute jump > functions also when we are inlining and IPA-CP is disabled, by the way. > > It looks like ipa_compute_jump_functions_for_edge was never called on > that edge, so if the problem appeared in a non-LTO context the following > might help? And I assume we want it either way, so OK for trunk after a > bootstrap&testing? > > Martin > > > diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c > index 0dd73561419..10fe1bc929f 100644 > --- a/gcc/ipa-prop.c > +++ b/gcc/ipa-prop.c > @@ -2040,7 +2040,7 @@ ipa_compute_jump_functions_for_bb (struct > ipa_func_body_info *fbi, basic_block b > > if (callee) > { > - callee->ultimate_alias_target (); > + callee = callee->ultimate_alias_target ();
so that either was dead code or your fix is obvious ;) So - OK. Thanks, Richard. > /* We do not need to bother analyzing calls to unknown functions > unless they may become known during lto/whopr. */ > if (!callee->definition && !flag_lto) >