[LLVMdev] How to dynamically profile LLVM IR, i.e., doing things along the program execution?

Zhoulai zell08v at gmail.com
Mon Apr 27 09:45:10 PDT 2015


Hi, all

I am wondering if it is possible to dynamically profile  LLVM IR? For
example, if I have a

void foo(){
  A a;
  a.goo(); //invoke a virtual function of class A
}

Assume we don't know which "goo()" of class "A" will be executed at run
time. We may want to print the  body of goo() as well as the bodies of the
function called by goo() and etc., or do something along the execution
trace.

How can we do this kind of dynamic profiling? I recently learned some LLVM
basics. It seems to me that the purpose of LLVM passes is static
profiling, right?

 Thanks for your ideas.

Zhoulai
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150427/2afc7261/attachment.html>


More information about the llvm-dev mailing list