hc2428 at columbia.edu
2009-May-07 23:41 UTC
[LLVMdev] How to use the PoolDescriptor in ds-aa alias analysis?
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. Thanks, Heming
Torvald Riegel
2009-May-08 12:03 UTC
[LLVMdev] How to use the PoolDescriptor in ds-aa alias analysis?
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. Torvald
Vikram S. Adve
2009-May-08 15:05 UTC
[LLVMdev] How to use the PoolDescriptor in ds-aa alias analysis?
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
Seemingly Similar Threads
- [LLVMdev] How to use the PoolDescriptor in ds-aa alias analysis?
- [LLVMdev] DataStructure Analysis ds-aa can not stop when passing mysqld
- [LLVMdev] DataStructure Analysis ds-aa can not stop when passing mysqld
- [LLVMdev] Getting the DSNode from a Pool Descriptor?
- [LLVMdev] DataStructure Analysis ds-aa can not stop when passing mysqld