[LLVMdev] indirect calls tracking and control flow graph

Petsas Athanasios petsas at ics.forth.gr
Mon Apr 28 06:10:52 PDT 2014


Dear all,

I would like to keep track of all the indirect calls that may caused from
function
pointers inside a program. I need this in order to be able to construct the
control
flow graph of all the indirect calls, that is which function is legal to
call another
function.

Is there a module that implements this functionality in llvm? If not, is
there a way to
do it? Maybe through implementing a pass. I am new to llvm. Could you
suggest me
a way to start doing this? Perhaps the llvm intermediate code can help me
on this.
Do you know where this code is being produced? or what files or passes do I
have
to modify for this?

Until now I have used this command to produce and study the llvm bitcode
for a test
program:
clang -S -emit-llvm fpointers.c -c -o fpointers.bc.text

Thank you,

-- 
Thanasis Petsas
Distributed Computing Systems (DCS)
Institute of Computer Science (ICS/FORTH)
Heraklion, Crete
Greece (GR)

http://www.thanasispetsas.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140428/07c9b1db/attachment.html>


More information about the llvm-dev mailing list