[llvm-dev] [cfe-dev] RFC: Devirtualization v2

Duncan P. N. Exon Smith via llvm-dev llvm-dev at lists.llvm.org
Fri Mar 30 09:49:14 PDT 2018



> 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>


More information about the llvm-dev mailing list