Duncan P. N. Exon Smith via llvm-dev
2018-Mar-30 16:49 UTC
[llvm-dev] [cfe-dev] RFC: Devirtualization v2
> On Mar 30, 2018, at 09:39, John McCall via llvm-dev <llvm-dev at lists.llvm.org> wrote: > >> On Mar 30, 2018, at 10:36 AM, Piotr Padlewski <piotr.padlewski at gmail.com <mailto:piotr.padlewski at gmail.com>> wrote: >> >> Do you know any other specific situations and metadata that would require, or would be good if would use the same solution? > > Ah, sure. It's probably the right solution for TBAA metadata compatibility as well. Different compilers are likely to use different TBAA tag hierarchies, just because they have different rules for aliasing. In the absence of some way of officially declaring them compatible, we should assume they're incompatible and strip them during inlining. In fact, it's probably true that *most* annotation approaches are frontend-specific and should be stripped when merging information from different frontends.IIRC, the root for TBAA metadata is an identifier tag for the schema. This prevents incompatible TBAA schemas from interacting with each other without having to strip either one. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180330/1dc07bc4/attachment.html>
John McCall via llvm-dev
2018-Mar-30 17:33 UTC
[llvm-dev] [cfe-dev] RFC: Devirtualization v2
> On Mar 30, 2018, at 12:49 PM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote: >> On Mar 30, 2018, at 09:39, John McCall via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: >> >>> On Mar 30, 2018, at 10:36 AM, Piotr Padlewski <piotr.padlewski at gmail.com <mailto:piotr.padlewski at gmail.com>> wrote: >>> >>> Do you know any other specific situations and metadata that would require, or would be good if would use the same solution? >> >> Ah, sure. It's probably the right solution for TBAA metadata compatibility as well. Different compilers are likely to use different TBAA tag hierarchies, just because they have different rules for aliasing. In the absence of some way of officially declaring them compatible, we should assume they're incompatible and strip them during inlining. In fact, it's probably true that *most* annotation approaches are frontend-specific and should be stripped when merging information from different frontends. > > IIRC, the root for TBAA metadata is an identifier tag for the schema. This prevents incompatible TBAA schemas from interacting with each other without having to strip either one.If that's true now, great; I know the scheme has been changed a lot since I last looked at it. I could also be misremembering what it was when I last looked at it, of course. John. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180330/48dce9b6/attachment.html>
Piotr Padlewski via llvm-dev
2018-Jun-19 19:51 UTC
[llvm-dev] [cfe-dev] RFC: Devirtualization v2
Hi all, the patches for the proposal are waiting in the review for quite some time. I am looking for people familiar with intrinsics, InstCombine and some other transform passes to review these 2 patches: https://reviews.llvm.org/D47103 https://reviews.llvm.org/D47423 As a motivation, I can say that initial measurements on LNT show nice performance boost (80% on one microbenchmark, ~0.7% on 7zip) Cheers, Piotr pt., 30 mar 2018 o 19:33 John McCall <rjmccall at apple.com> napisaĆ(a):> On Mar 30, 2018, at 12:49 PM, Duncan P. N. Exon Smith < > dexonsmith at apple.com> wrote: > > On Mar 30, 2018, at 09:39, John McCall via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > On Mar 30, 2018, at 10:36 AM, Piotr Padlewski <piotr.padlewski at gmail.com> > wrote: > > Do you know any other specific situations and metadata that would require, > or would be good if would use the same solution? > > > Ah, sure. It's probably the right solution for TBAA metadata > compatibility as well. Different compilers are likely to use different > TBAA tag hierarchies, just because they have different rules for aliasing. > In the absence of some way of officially declaring them compatible, we > should assume they're incompatible and strip them during inlining. In > fact, it's probably true that *most* annotation approaches are > frontend-specific and should be stripped when merging information from > different frontends. > > > IIRC, the root for TBAA metadata is an identifier tag for the schema. > This prevents incompatible TBAA schemas from interacting with each other > without having to strip either one. > > > If that's true now, great; I know the scheme has been changed a lot since > I last looked at it. I could also be misremembering what it was when I > last looked at it, of course. > > John. >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180619/ce8a6ef7/attachment.html>