On Tue, Mar 14, 2017 at 11:09 AM, Martin Liška <mli...@suse.cz> wrote: > On 03/14/2017 10:46 AM, Richard Biener wrote: >> On Mon, Mar 13, 2017 at 4:19 PM, Martin Liška <mli...@suse.cz> wrote: >>> Hello. >>> >>> This is a small follow-up patch, where local.local flag should be also >>> dropped >>> for a default implementation. >>> >>> Patch can bootstrap on x86_64-linux-gnu and survives regression tests. >>> >>> Ready to be installed? >> >> I see we have clered the flag on the clones this way. But isn't it >> bogus to have >> it set in the first place? That is, isn't analysis sofar given bogus info? > > Yes, I did it for clones. Reason why we mark it is that local flag is set > by pass_ipa_function_and_variable_visibility pass, which runs before MV pass. > > I can imagine MV can bail out for a non-trivial reason and the visibility pass > should somehow simulate and predict what happens in the MV pass?
Setting .local to true is an optimization, isn't it? So just not doing it when the attribute is present should be safe. Just "undoing" .local = true later is asking for trouble if some intermediate pass decides to do some transform based on .local = true, no? Richard. > Martin > >> >> Shouldn't we instead fix local_p to not mark functions with MV attribute >> local >> in the first place? >> >> Richard. >> >>> Martin >