[llvm-dev] RFC: Resolving TBAA issues

Ivan A. Kosarev via llvm-dev llvm-dev at lists.llvm.org
Fri Aug 18 07:53:50 PDT 2017


Thanks Daniel, I've read through all your recent messages carefully and 
what you say is very interesting because it sounds like you know how to 
represent everything we need to support C/C++ TBAA rules in a more 
generic way that expresses things in terms of type identifiers and byte 
offsets.

If that is correct, could you please consider this:

   struct A { int i, j; };

   union {
     struct S1 { struct A a; } s1;
     struct S2 { struct A a; } s2;
   } u;

For the definitions above, can you tell how representations of these 
accesses:

   1) u.s1.a.i
   2) u.s1.a.j  // Does not overlap with #1.

and this couple of accesses:

   3) u.s1.a.i
   4) u.s2.a.j  // Does overlap with #3.

can be differentiated in the approach you are talking about?

Thanks,

-- 



More information about the llvm-dev mailing list