On Fri, Nov 29, 2019 at 2:02 PM Richard Biener <richard.guent...@gmail.com> wrote: > > On Fri, Nov 29, 2019 at 1:57 PM Jan Hubicka <hubi...@ucw.cz> wrote: > > > > Hi, > > this is an example (I just copied first few comparsions on libxul > > builds) > > The operators== seems all instances of nsCOMPtr. > > nsCOMPtr<nsIContent>::operator=(nsCOMPtr<nsIContent>&&) > > Oh, yes - this means we do not merge enough. But the issue Martin tries to > fix > is we have equal hash functions too often but then fail to merge. So you say > Martin fixes this not by actually merging where we could but to fail "cheaper" > but in the same bogus way? That would be sad...
Btw, did you consider merging more aggressively by considering the merge result only for the offline copies but continue to use the original unmerged copies for inlining only? Most semantic issues like access path come up in the context of inlining only (any TBAA kinds). That would mean creating a new "alias" that is "noinline" and mark all original "aliases" as inline clones with body. Richard.