[llvm-dev] Interpreting DSCallGraph results

Kevin Hu via llvm-dev llvm-dev at lists.llvm.org
Mon Dec 28 17:12:18 PST 2015


Dear all,


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.

The require statement in getAnalysisUsage method looks like this:

AU.addRequired<CallTargetFinder<TDDataStructures> >();

Is this what you're asking?


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?

Thanks.


Regards,
Kevin

On Mon, Dec 28, 2015 at 3:05 PM Christian Convey <christian.convey at gmail.com>
wrote:

> Any suggestions for how to interpret DSCallGraph's output for the
>> following?
>>
>>
>> Which DSA pass are you using to generate the call graph?  You'll get
>> different results from different DSA passes.
>>
>
> I believe I was using TDDataStructures in that run.
>
>
>> 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).
>>
>
> Thanks, that's extremely useful.  Much appreciated.
>
> - Christian
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151229/84ada4ee/attachment.html>


More information about the llvm-dev mailing list