[LLVMdev] How to use the PoolDescriptor in ds-aa alias analysis?

Vikram S. Adve vadve at cs.uiuc.edu
Fri May 8 08:05:15 PDT 2009

On May 8, 2009, at 7:03 AM, Torvald Riegel wrote:

> On Friday 08 May 2009, hc2428 at columbia.edu wrote:
>> Dear Staff,
>>     I am reading the paper "Making Context-sensitive Points-to
>> Analysis with Heap Cloning Practical For The Real World", and I build
>> the poolalloc module, and run the program in Figure 1 in this paper
>> with -ds-aa alias analysis. Now I know that X and Y in the program
>> would have distinct PoolDescriptors to make them disjoint data
>> structures.
>>     However, how can we use the PoolDescriptor? What is storing in
>> it? It seems that the PoolDescriptor in the program is just parsed as
>> an argument from top to down, but it is not modified, so I am a  
>> little
>> confused.
> Pool descriptors get allocated before the data in the pool starts to  
> exist.
> After that, pointers to those pool descriptors get passed around. If  
> you are
> the only poolalloc user, then you can use the pools in any way you  
> want. If
> you just want an ID for a pool, it should be safe to not release  
> pools and
> just return unique pointers from the pool allocator.

And if you are only interested in the alias analysis client you  
mentioned (-ds-aa), then you don't need to run the pool allocation  
transformation at all.  That's just another client that gives you a  
*run-time* representation of the points-to sets.

> Torvald
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

More information about the llvm-dev mailing list