[LLVMdev] Poolalloc code that implements runtime mapping between pointers and pools.

Paul Vario paul.paul.mit at gmail.com
Mon Apr 21 08:52:54 PDT 2014


Hi Fellows,

        I've started to study the parts of the poolalloc code related to
runtime pool tracking. AFAIU, Poolalloc uses extra variables/tags for each
pointer to encode which pool the pointer was allocated from. Could you
point me to which parts of the poolalloc code implement that functionality
(i.e., related to tracking pools at runtime)?

         Also, of all the examples that I've tried, none of them actually
shows the pools being allocated. E.g.,  I tried a few sample programs (e.g.
figure 1 of the pldi'2005 paper, and a DFS graph traversal using adjacency
list etc) ... but none of them demonstrates that any pool actually gets
allocated for the program. The message I got is always something like:

                                    Pool allocating 0 global nodes!
                                    [main] 1 nodes pool allocatable

         The command I am using is `opt -S -load ./LLVMDataStructure.so
-load ./poolalloc.so -paheur-AllHeapNodes -poolalloc < test.ll >
test-pa.ll`.

        I wonder if anyone could post an example program that has been
verified to get pool-allocated under their environment ... or the options
to `opt` are not sufficient enough for the task. Thanks so very much in
advance.

Best Regards,
Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140421/99abd910/attachment.html>


More information about the llvm-dev mailing list