[LLVMdev] Building poolalloc with current LLVM development branch?

John Criswell jtcriswel at gmail.com
Sat May 30 09:06:19 PDT 2015

Dear Christian,

First, I've never used CMake to build poolalloc.  I've always used the 
autoconf-based build system.  It is possible that the CMake files for 
poolalloc are broken.  I recommend using the autoconf-based build system.

Second, you'll be pleased to know that someone (I think Will Dietz) has 
gotten DSA working with mainline LLVM.  The DSA code compiles, but not 
the Automatic Pool Allocation optimization code.  To put it another way, 
poolalloc/lib/DSA compiles and works but poolalloc/lib/PoolAllocate 
doesn't compile.  I took a snapshot of LLVM trunk and poolalloc trunk 
awhile ago and put it on Github for my students to use.  You can find it 
at https://github.com/jtcriswell/llvm-dsa.

Third, my group's work on DSA is demand-driven.  While several of my 
students are using DSA, I do not presently plan to have them maintain or 
improve DSA unless their projects require it (that said, I easily see 
projects that will require enhancing DSA, so this is subject to 
change).  To the best of my knowledge, no one is currently using or 
maintaining the Automatic Pool Allocation optimization.  I have no plans 
that require my group to use it or maintain it at present and don't 
foresee any in the near future.

Finally, I've noticed a significant increase in the number of people 
wanting to use DSA in recent months.  I think this indicates a demand (I 
believe from the research community) for shape graph analysis and a call 
graph analysis that can handle function pointers.  I'd like to better 
understand who needs these features, which exact features they need, and 
whether they have any interest in helping support the analyses long term.

To that end, I'd like to hold a BoF on points-to analysis/call graph 
analysis at this year's LLVM Developer's Meeting to see who is 
interested in these analyses, what they really need, and whether there 
is a way to build something that meets those needs that can be 
maintained long term.


John Criswell

On 5/28/15 1:57 PM, Christian Convey wrote:
> I'm starting to play around with poolalloc for the first time.  I 
> tried to build it as follows:
> 1) Clone llvm's git repo, and build it with cmake + ninja.
> 2) cd .../llvm/projects
> 3) git clone git at github.com:llvm-mirror/poolalloc.git
> When I went to re-run ninja, (or even CMake by itself), I get errors 
> like the following (truncated for brevity).  Any suggestions for 
> whether I'm trying to use the build system incorrectly, vs. having an 
> incompatible combo of LLVM and poolalloc?
> CMake Error at cmake/modules/LLVMProcessSources.cmake:83 (message):
>   Found unknown source file
> /opt/clang-llvm/llvm/projects/poolalloc/runtime/PreRT/strdup.c
>   Please update
> /opt/clang-llvm/llvm/projects/poolalloc/runtime/PreRT/CMakeLists.txt
> Call Stack (most recent call first):
>   cmake/modules/LLVMProcessSources.cmake:54 (llvm_check_source_file_list)
>   cmake/modules/AddLLVM.cmake:263 (llvm_process_sources)
>   cmake/modules/AddLLVM.cmake:418 (llvm_add_library)
>   projects/poolalloc/runtime/PreRT/CMakeLists.txt:2 (add_llvm_library)
> Thanks,
> Christian
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu          http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

John Criswell
Assistant Professor
Department of Computer Science, University of Rochester

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150530/74bb3c16/attachment.html>

More information about the llvm-dev mailing list