<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Dear Petsas,<br>
<br>
For analyzing indirect function calls, your best bet is probably
to use the CallGraph analysis pass that is part of DSA. DSA is
included in the poolalloc code; you can get directions on
downloading poolalloc from the SVA web page:
<a class="moz-txt-link-freetext" href="http://sva.cs.illinois.edu/docs/Install.html">http://sva.cs.illinois.edu/docs/Install.html</a>.<br>
<br>
The release_32 branch works with LLVM 3.2. I think mainline
poolalloc was recently updated to work with LLVM 3.4.<br>
<br>
Regards,<br>
<br>
John Criswell<br>
<br>
<br>
On 4/28/14 8:10 AM, Petsas Athanasios wrote:<br>
</div>
<blockquote
cite="mid:CANcSmty6bVncTOGojdfBX-r2PU7DR3G2CZcNEsWqXEDUpzOd4w@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>
<div>
<div>Dear all,<br>
<br>
</div>
I would like to keep track of all the indirect calls
that may caused from function<br>
</div>
pointers inside a program. I need this in order to be
able to construct the control<br>
</div>
flow graph of all the indirect calls, that is which
function is legal to call another<br>
</div>
function.<br>
<br>
</div>
Is there a module that implements this functionality in
llvm? If not, is there a way to<br>
do it? Maybe through implementing a pass. I am new to llvm.
Could you suggest me<br>
</div>
<div>a way to start doing this? Perhaps the llvm intermediate
code can help me on this.<br>
</div>
<div>Do you know where this code is being produced? or what
files or passes do I have<br>
</div>
<div>to modify for this?<br>
<br>
</div>
<div>Until now I have used this command to produce and study
the llvm bitcode for a test<br>
program:<br>
clang -S -emit-llvm fpointers.c -c -o fpointers.bc.text<br>
<br>
</div>
<div>Thank you,<br>
</div>
<div><br>
<div>
<div>
<div>
<div>
<div>-- <br>
<font color="#888888"><font face="Helvetica,
Verdana, Arial"><span style="font-size:11pt"><font
color="#888888"><span>Thanasis</span> <span>Petsas</span>
<div>
Distributed Computing Systems (<span>DCS</span>)<br>
Institute of Computer Science
(ICS/FORTH)<br>
Heraklion, Crete<br>
<span>Greece</span> (GR)<br>
<br>
<font color="#888888"><font
face="Helvetica, Verdana, Arial"><span
style="font-size:11pt"><font
color="#888888"><a
moz-do-not-send="true"
href="http://www.thanasispetsas.com/"
target="_blank">http://www.thanasispetsas.com/</a></font></span></font></font><br>
</div>
</font></span></font></font>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
</blockquote>
<br>
</body>
</html>