https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120987

--- Comment #32 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Sam James from comment #31)
> (In reply to Andrew Pinski from comment #30)
> >    for (n = edge->caller; n->inlined_to; n = n->callers->caller)
> > -    flags |= flags_from_decl_or_type (n->decl);
> > -  flags |= flags_from_decl_or_type (n->decl);
> > +    flags |= flags_from_decl_or_type (n->decl) & flags_mask;
> > +  flags |= flags_from_decl_or_type (n->decl) & flags_mask;
> 
> It still looks odd because n is left as n->callers->caller, so you get it
> applied twice in that case. Can you add a comment?

Yes I will add one.
But basically that is the outer most function where this was inlined into (in
this case).

so we going from inner most (edge->caller), to the outer most (which has a null
inlined_to). The second outer most has a non-null inlined_to.
Going one further you get a null :).

Reply via email to