<div dir="ltr">Hi Will, <div><br></div><div>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.</div><div><br></div><div>- Christian</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, May 30, 2015 at 12:06 PM, John Criswell <span dir="ltr"><<a href="mailto:jtcriswel@gmail.com" target="_blank">jtcriswel@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Dear Christian,<br>
<br>
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.<br>
<br>
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 <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_jtcriswell_llvm-2Ddsa&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=CpOFC_vLGhTyIztZ1exQQwb78PIi-RG2ejWotN_nqb4&s=U4LWv3GcV-LuCX1WRzm_YSQeKriu2l_I0VMaL3gUt74&e=" target="_blank">https://github.com/jtcriswell/llvm-dsa</a>.<br>
<br>
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.<br>
<br>
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.<br>
<br>
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.<br>
<br>
Regards,<br>
<br>
John Criswell<div><div class="h5"><br>
<br>
On 5/28/15 1:57 PM, Christian Convey wrote:<br>
</div></div></div>
<blockquote type="cite"><div><div class="h5">
<div dir="ltr">
<div>I'm starting to play around with poolalloc for the first
time. I tried to build it as follows:</div>
<div>1) Clone llvm's git repo, and build it with cmake + ninja.</div>
<div>2) cd .../llvm/projects</div>
<div>3) git clone <a href="mailto:git@github.com:llvm-mirror/poolalloc.git" target="_blank">git@github.com:llvm-mirror/poolalloc.git</a></div>
<div><br>
</div>
<div>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?</div>
<div><br>
</div>
<div>
<div>CMake Error at cmake/modules/LLVMProcessSources.cmake:83
(message):</div>
<div> Found unknown source file</div>
<div>
/opt/clang-llvm/llvm/projects/poolalloc/runtime/PreRT/strdup.c</div>
<div><br>
</div>
<div><br>
</div>
<div> Please update</div>
<div>
/opt/clang-llvm/llvm/projects/poolalloc/runtime/PreRT/CMakeLists.txt</div>
<div><br>
</div>
<div><br>
</div>
<div>Call Stack (most recent call first):</div>
<div> cmake/modules/LLVMProcessSources.cmake:54
(llvm_check_source_file_list)</div>
<div> cmake/modules/AddLLVM.cmake:263 (llvm_process_sources)</div>
<div> cmake/modules/AddLLVM.cmake:418 (llvm_add_library)</div>
<div> projects/poolalloc/runtime/PreRT/CMakeLists.txt:2
(add_llvm_library)</div>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Christian</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
</div></div><span class=""><pre>_______________________________________________
LLVM Developers mailing list
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
</span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
<br>
<pre cols="72">--
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__www.cs.rochester.edu_u_criswell&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=CpOFC_vLGhTyIztZ1exQQwb78PIi-RG2ejWotN_nqb4&s=_0jI9uAlSM7JeiUr1EqbI1vYGHnRFSujIgTn9wnVE6c&e=" target="_blank">http://www.cs.rochester.edu/u/criswell</a></pre>
</font></span></div>
</blockquote></div><br></div>