On Wed, Oct 5, 2022 at 8:18 PM Qing Zhao via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
>
>
> > On Oct 5, 2022, at 1:36 PM, Martin Liška <mli...@suse.cz> wrote:
> >
> > On 10/5/22 16:50, Qing Zhao wrote:
> >> I have two questions on this:
> >
> > Hello.
> >
> >>
> >> 1.  What’s the motivation to enable -flive-patching with -flto? Is there 
> >> any application that will try -flive-patching with -flto now?
> >
> > We're planning supporting GCC LTO Linux kernel support, so that's one 
> > motivation. And the second one is a possible
> > use in user-space livepatching. Note majority of modern distros default to 
> > -flto (openSUSE, Fedora, Debian, Ubuntu, ...).
>
> Okay, I see. That’s reasonable.
> >
> >>
> >> 2. Why only enable -flive-patching=inline-clone with -flto?
> >
> > Because the inline-only-static level (which you added/requested) would have 
> > to properly
> > block inter-procedural inlining that happens in LTO 
> > (can_inline_edge_by_limits_p) and
> > I'm not sure it would be properly blocked. So, feel free to extend my patch 
> > if you want?
>
> -flive-patching=inline-only-static
>
> Only enable static functions inlining,  all the inlining of external visible 
> functions are blocked, So, LTO should be compatible with this naturally 
> without any issue, I think.
>
> i.e, when "-flive-patching=inline-only-static -flto"  present together, all 
> the inter-procedural inlining should be automatically blocked by 
> -flive-patching=inline-only-static already.
>
> Do I miss anything here?

WPA will promote externally visible functions static when all accesses
are from LTO IR, I don't think we preserve
the "original" visibility for IPA inlining heuristics.

OTOH inline-only-static could disable WPA inlining and do all inlining early ...

Richard,

>
> thanks.
>
> Qing
>
> >
> > Martin
> >
> >>
> >> thanks.
> >
>

Reply via email to