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

Reply via email to