[LLVMdev] Building poolalloc with current LLVM development branch?

John Criswell jtcriswel at gmail.com
Sat May 30 15:56:26 PDT 2015


On 5/30/15 5:52 PM, Christian Convey wrote:
> Hi Will,
>
> John Criswell thought that perhaps you've gotten DSA (but not 
> poolalloc) working with the mainline LLVM code.  If that's true, is 
> that something you intend to share?  I for one would love to be able 
> to use it.

To be clear, that code is *already* shared (i.e., I got it from the 
poolalloc repository on the llvm.org Subversion server).  My point about 
mentioning Will is that I think he's the one that updated poolalloc 
trunk to compile with LLVM trunk (i.e., he's the one we need to thank 
for moving DSA from LLVM 3.2 to LLVM mainline).

Regards,

John Criswell

>
> - Christian
>
> On Sat, May 30, 2015 at 12:06 PM, John Criswell <jtcriswel at gmail.com 
> <mailto:jtcriswel at gmail.com>> wrote:
>
>     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.
>
>     Regards,
>
>     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
>>     <mailto: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  <mailto: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
>     http://www.cs.rochester.edu/u/criswell
>
>


-- 
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
http://www.cs.rochester.edu/u/criswell

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


More information about the llvm-dev mailing list