<div dir="ltr"><div>Dear all,<br><br><br></div>I checked the old code and the DSA pass we used in the project was CallTargetFinder, and it required the data structure to use. And we used TDDataStructures.<br><div><br></div><div>The require statement in getAnalysisUsage method looks like this:<br></div><div><br></div><div>AU.addRequired<CallTargetFinder<TDDataStructures> >();<br><br></div><div>Is this what you're asking?<br></div><div><br><br></div><div>BTW, what's the state of the DSA and poolalloc project at the moment? Which version of LLVM does it work with? And where can I find documentation?<br><br></div><div>Thanks.<br></div><div><br><br></div><div>Regards,<br></div><div>Kevin<br></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Dec 28, 2015 at 3:05 PM Christian Convey <<a href="mailto:christian.convey@gmail.com">christian.convey@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><span><blockquote type="cite"><div dir="ltr"><div>Any suggestions for how to interpret DSCallGraph's output
for the following?</div>
</div>
</blockquote>
<br></span>
Which DSA pass are you using to generate the call graph? You'll get
different results from different DSA passes.</div></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>I believe I was using TDDataStructures in that run.</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div> <br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
You need to assume that any incomplete call site calls external code
which can call any function that a) whose linkage makes it visible
to (and therefore callable from) external code and b) any function
whose address is in a DSNode that has the Incomplete or External
flag set (i.e., the function pointer could be read by external
code).</div></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Thanks, that's extremely useful. Much appreciated.</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>- Christian</div><div><br></div></div></div></div></blockquote></div>