I updated the latest "poolalloc" code and the problem seems to have been fixed. However, I am still having problem of running "poolalloc". After compilation finished, there are several dynamic libraries created (libpoolalloc_rt.so, libpoolalloc_fl_rt.so and LLVMDataStructure.so). I was not sure which one I should use so I just tried all of them with "opt -load". However, none of them seems to work (by complaiing "-poolalloc" is unknown). When I ran test in poolalloc directory, it gave me error complaining that "poolalloc.so" was missing. Am I missing anything here? BTW, when I run llvm test, is there a flag that can turn on option to print the test commands in details in addition to just show the test is passed or failed? Thank you Haifeng On 8/23/07, Andrew Lenharth <andrewl at lenharth.org> wrote:> On 8/23/07, Wojciech Matyjewicz <wmatyjewicz at fastmail.fm> wrote: > > Static ID fields in pass classes seem to be lacking definitions (there > > were some changes in LLVM core classes and poolalloc hasn't been yet > > fully updated to reflect them). The attached patch fixes this for DSA > > classes - LLVMDataStructure.so loads into opt and DSA can be performed. > > Thanks. I forgot to commit this change from my local tree. > > Andrew > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Haifeng He wrote:> I updated the latest "poolalloc" code and the problem seems to have been fixed. > However, I am still having problem of running "poolalloc". > > After compilation finished, there are several dynamic libraries > created (libpoolalloc_rt.so, libpoolalloc_fl_rt.so and > LLVMDataStructure.so). I was not sure which one I should use so I just > tried all of them with "opt -load". However, none of them seems to > work (by complaiing "-poolalloc" is unknown). When I ran test > in poolalloc directory, it gave me error complaining that > "poolalloc.so" was missing. > Am I missing anything here? >First, you need to make sure you load LLVMDataStructure.so and poolalloc.so into opt. You can specify the -load option multiple times, so you use the first -load option to load LLVMDataStructure.so and the second -load option to load poolalloc.so. Second, you need make sure that opt can find both libraries. Either specify the complete path to the shared library files or set LD_LIBRARY_PATH to the directory containing LLVMDataStructure.so and poolalloc.so. FYI, libpoolalloc_*_rt.so are the runtime implementations of the pool allocator memory allocator. These are linked into your program (either at the LLVM bytecode or native code level) to provide the pool allocator runtime functions.> BTW, when I run llvm test, is there a flag that can turn on option to > print the test commands in details in addition to just show the test > is passed or failed? >I believe using make VERBOSE=1 will do this. -- John T.> Thank you > > Haifeng > > > > > On 8/23/07, Andrew Lenharth <andrewl at lenharth.org> wrote: > >> On 8/23/07, Wojciech Matyjewicz <wmatyjewicz at fastmail.fm> wrote: >> >>> Static ID fields in pass classes seem to be lacking definitions (there >>> were some changes in LLVM core classes and poolalloc hasn't been yet >>> fully updated to reflect them). The attached patch fixes this for DSA >>> classes - LLVMDataStructure.so loads into opt and DSA can be performed. >>> >> Thanks. I forgot to commit this change from my local tree. >> >> Andrew >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Thanks. On 8/24/07, John Criswell <criswell at cs.uiuc.edu> wrote:> Haifeng He wrote: > > I updated the latest "poolalloc" code and the problem seems to have been fixed. > > However, I am still having problem of running "poolalloc". > > > > After compilation finished, there are several dynamic libraries > > created (libpoolalloc_rt.so, libpoolalloc_fl_rt.so and > > LLVMDataStructure.so). I was not sure which one I should use so I just > > tried all of them with "opt -load". However, none of them seems to > > work (by complaiing "-poolalloc" is unknown). When I ran test > > in poolalloc directory, it gave me error complaining that > > "poolalloc.so" was missing. > > Am I missing anything here? > > > First, you need to make sure you load LLVMDataStructure.so and > poolalloc.so into opt. You can specify the -load option multiple times, > so you use the first -load option to load LLVMDataStructure.so and the > second -load option to load poolalloc.so. > > Second, you need make sure that opt can find both libraries. Either > specify the complete path to the shared library files or set > LD_LIBRARY_PATH to the directory containing LLVMDataStructure.so and > poolalloc.so. > > FYI, libpoolalloc_*_rt.so are the runtime implementations of the pool > allocator memory allocator. These are linked into your program (either > at the LLVM bytecode or native code level) to provide the pool allocator > runtime functions. > > BTW, when I run llvm test, is there a flag that can turn on option to > > print the test commands in details in addition to just show the test > > is passed or failed? > > > I believe using make VERBOSE=1 will do this. > > -- John T. > > Thank you > > > > Haifeng > > > > > > > > > > On 8/23/07, Andrew Lenharth <andrewl at lenharth.org> wrote: > > > >> On 8/23/07, Wojciech Matyjewicz <wmatyjewicz at fastmail.fm> wrote: > >> > >>> Static ID fields in pass classes seem to be lacking definitions (there > >>> were some changes in LLVM core classes and poolalloc hasn't been yet > >>> fully updated to reflect them). The attached patch fixes this for DSA > >>> classes - LLVMDataStructure.so loads into opt and DSA can be performed. > >>> > >> Thanks. I forgot to commit this change from my local tree. > >> > >> Andrew > >> _______________________________________________ > >> LLVM Developers mailing list > >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >> > >> > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
DSA should be current against head, but poolalloc isn't. I've changed DSA a bit so it may not compile with poolalloc as is. I haven't had time to tackle updating poolalloc (either to head or to the dsa changes). If you want the version from the paper, try checking out llvm 1.8 or 1.9 and a dsa from around then. The dsa as used on the linux kernel and in the OS work is in a branch (but we were not using poolalloc in that work so I don't know it that one works). Andrew On 8/24/07, John Criswell <criswell at cs.uiuc.edu> wrote:> Haifeng He wrote: > > I updated the latest "poolalloc" code and the problem seems to have been fixed. > > However, I am still having problem of running "poolalloc". > > > > After compilation finished, there are several dynamic libraries > > created (libpoolalloc_rt.so, libpoolalloc_fl_rt.so and > > LLVMDataStructure.so). I was not sure which one I should use so I just > > tried all of them with "opt -load". However, none of them seems to > > work (by complaiing "-poolalloc" is unknown). When I ran test > > in poolalloc directory, it gave me error complaining that > > "poolalloc.so" was missing. > > Am I missing anything here? > > > First, you need to make sure you load LLVMDataStructure.so and > poolalloc.so into opt. You can specify the -load option multiple times, > so you use the first -load option to load LLVMDataStructure.so and the > second -load option to load poolalloc.so. > > Second, you need make sure that opt can find both libraries. Either > specify the complete path to the shared library files or set > LD_LIBRARY_PATH to the directory containing LLVMDataStructure.so and > poolalloc.so. > > FYI, libpoolalloc_*_rt.so are the runtime implementations of the pool > allocator memory allocator. These are linked into your program (either > at the LLVM bytecode or native code level) to provide the pool allocator > runtime functions. > > BTW, when I run llvm test, is there a flag that can turn on option to > > print the test commands in details in addition to just show the test > > is passed or failed? > > > I believe using make VERBOSE=1 will do this. > > -- John T. > > Thank you > > > > Haifeng > > > > > > > > > > On 8/23/07, Andrew Lenharth <andrewl at lenharth.org> wrote: > > > >> On 8/23/07, Wojciech Matyjewicz <wmatyjewicz at fastmail.fm> wrote: > >> > >>> Static ID fields in pass classes seem to be lacking definitions (there > >>> were some changes in LLVM core classes and poolalloc hasn't been yet > >>> fully updated to reflect them). The attached patch fixes this for DSA > >>> classes - LLVMDataStructure.so loads into opt and DSA can be performed. > >>> > >> Thanks. I forgot to commit this change from my local tree. > >> > >> Andrew > >> _______________________________________________ > >> LLVM Developers mailing list > >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >> > >> > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >