On Tue, Sep 3, 2024 at 4:00 AM Jan Hubicka <hubi...@ucw.cz> wrote:
>
> > > >
> > > >         PR ipa/116410
> > > >         * ipa-modref.cc (analyze_parms): Always analyze function 
> > > > parameter
> > > >         for LTO streaming.
> > > >
> > > > Signed-off-by: H.J. Lu <hjl.to...@gmail.com>
> > > > ---
> > > >  gcc/ipa-modref.cc | 4 ++--
> > > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/gcc/ipa-modref.cc b/gcc/ipa-modref.cc
> > > > index 59cfe91f987..9275030c254 100644
> > > > --- a/gcc/ipa-modref.cc
> > > > +++ b/gcc/ipa-modref.cc
> > > > @@ -2975,7 +2975,7 @@ analyze_parms (modref_summary *summary, 
> > > > modref_summary_lto *summary_lto,
> > > >                 summary->arg_flags.safe_grow_cleared (count, true);
> > > >               summary->arg_flags[parm_index] = EAF_UNUSED;
> > > >             }
> > > > -         else if (summary_lto)
> > > > +         if (summary_lto)
> > > >             {
> > > >               if (parm_index >= summary_lto->arg_flags.length ())
> > > >                 summary_lto->arg_flags.safe_grow_cleared (count, true);
> > > > @@ -3034,7 +3034,7 @@ analyze_parms (modref_summary *summary, 
> > > > modref_summary_lto *summary_lto,
> > > >                 summary->arg_flags.safe_grow_cleared (count, true);
> > > >               summary->arg_flags[parm_index] = flags;
> > > >             }
> > > > -         else if (summary_lto)
> > > > +         if (summary_lto)
> > > >             {
> > > >               if (parm_index >= summary_lto->arg_flags.length ())
> > > >                 summary_lto->arg_flags.safe_grow_cleared (count, true);
> > > > --
> > > > 2.46.0
> > > >
> > >
> > > These are oversights in
> > >
> > > https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=85ebbabd85e03bdc3afc190aeb29250606d18322
> > > https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3350e59f2985469b2472e4d9a6d387337da4519b
> > >
> > > to have
> > >
> > >   if (summary)
> > >       ...
> > >   else if (summary_lto)
> > >  ^^^^  This disables LTO optimization for  -ffat-lto-objects.
> > >
> > > Is this patch OK for master and backports?
> >
> > OK for master.  Please wait with backports though, eventually Honza has 
> > comments
> > as well.
>
> It looks good to me.  The code was originally written for separate LTO
> and non-LTO paths (since with LTO we can not collect alias sets that
> are not stable across LTO streaming).  Plan was to eventually merge more
> of the logic by templates, but that did not happen (yet).  I will try to
> look into cleaning this up bit more after adding the nonsequential
> attribtue
>

OK for backports?


-- 
H.J.

Reply via email to