[llvm-dev] TBAA for subset of a loaded value

Sanjoy Das via llvm-dev llvm-dev at lists.llvm.org
Mon Apr 10 20:31:58 PDT 2017


Hi Hal,

On April 10, 2017 at 7:01:36 PM, Hal Finkel (hfinkel at anl.gov) wrote:
> As I mentioned a few moments ago, I think we can just propagate the
> metadata.

Yes, that sounds a lot simpler. :)

The scheme I mentioned has the slight advantage that it further
refines the metadata as we narrow accesses -- if we split up an i128
access into 4 i32 accesses, we'll be able to prove using TBAA metadata
that those 4 i32 accesses do not alias each other.  However, I suspect
that use case it not important.

-- Sanjoy

> One thing which it worth pointing out is that, when TBAA
> checks an access, it does not actually check the access size (our struct
> path metadata has offsets in it, but we don't really use the sizes in
> conjunction with those, we're just checking for an offset match up the
> node hierarchy).
>
> -Hal
>
> >
> > -- Sanjoy
> >
> >
> >> I would very much appreciate any guidance on the right approach to
> >> this (perfectly willing and planning to code this up myself - but
> >> would appreciate discussion on direction).
> >>
> >> Thanks,
> >> Keno
> >> _______________________________________________
> >> LLVM Developers mailing list
> >> llvm-dev at lists.llvm.org
> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> >>
>
> --
> Hal Finkel
> Lead, Compiler Technology and Programming Languages
> Leadership Computing Facility
> Argonne National Laboratory
>
>


More information about the llvm-dev mailing list