Hi Honza, > > > > > > > I checked update_jump_functions_after_inlining(), and found one > > > suspicious place: > > > > > > > > for (i = 0; i < count; i++) > > > > { > > > > struct ipa_jump_func *dst = ipa_get_ith_jump_func (args, i); > > > > if (!top) > > > > { > > > > ipa_set_jf_unknown (dst); > > > > <<<<<<<<<<<<<<<<< we should also invalidate dst->agg.items. > > > This is a good catch. In meantime a smaller testcase surfaces in > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92528 > > > I am re-building Firefox with the patch I attache to the PR. > > > > > > > Just curious how this went. Are the firefox issue sorted or is there > something still to be done? > > Yes, Firefox is working now for me and in fact I am just in the progress of > updating my branch at mozilla try servers to do some benchmarking (still > have few warnings to cache etc.). > > There was additional interesting consequence of the patch in making inliner > noticeably slower both on cc1 compilation and Firefox: > propagating a lot more values made it to consider a lot more inlining > contextes. So I finally pushed out patches treating non-linearities there. > > What remains to do is to fix the value ranges - ipa_set_jf_unknown > should not invalidate them. I will try to do that soon. >
Ah, that's awesome, thanks for all the hard work! Cheers, Tamar > Honza > > > > Thanks, > > Tamar > > > > > Honza