> 
> Okay, I see.
> 
> > 
> > If you make this to be INTERPOSABLE (which means it can be replaced by 
> > different
> > implementation by linker and that is probably what we want for live 
> > patching)
> > then also inliner, ipa-sra and other optimization will give up on these.
> 
> do you suggest that to set the global function as AVAIL_INTERPOSABLE when 
> -finline-only-static 
> is present? then we should avoid all issues?

It seems to be reasonable direction I think, because it is what really happens
(well AVAIL_INTERPOSABLE still does not assume that the interposition will
happen at runtime, but it is an approximation and we may introduce something 
like
AVAIL_RUNTIME_INTERPOSABLE if there is need for better difference).
I wonder if -finline-only-static is good name for the flag though, because it
does a lot more than that.  Maybe something like -flive-patching?
How much is this all tied to one particular implementation of the feature?

Honza
> 
> Qing
> 
> 
> > Honza
> >> 
> >> 
> >>> For example comdat that was cloned by IPA-SRA. See can_be_local_p and
> >>> comdat_can_be_unshared_p predicates.  Similar problem happens to clones 
> >>> created
> >>> by ipa-cp.
> >>> 
> >>> I guess we want to disable localization and cloning in this case as well.
> >>> I wonder what else.
> >> 
> >> Yes, I think we should make -finline-only-static incompatible with cloning 
> >> and tree-sra too.
> >> 
> >> Qing
> >>> 
> >>> Honza
> 

Reply via email to