[LLVMdev] TBAA: Propagating aliasing information to derived pointers

Johan Tibell johan.tibell at gmail.com
Wed Jan 18 18:13:41 PST 2012


Hi,

While adding support for TBAA to GHC's LLVM backend, we ran into the
following issue: given a pointer that we know has certain aliasing
properties (e.g. it points to the stack, not the heap) we'd like to

 * annotate all loads and stores to that pointer with a TBAA type "stack", and
 * also annotate all loads and stores to pointers derived from that
pointer as "stack".

For example, given Sp, which is the GHC stack pointer, and this pseudo-code

    tmp = Sp + 4
    tmp2 = load tmp  // should be marked as "stack"

we'd like to not only annotate loads/stores to Sp as "stack" but also
all loads/stores to tmp.

Is this something that can be achieved within the current framework or
should we propagate the pointer aliasing information ourselves?

Cheers,
Johan



More information about the llvm-dev mailing list