[llvm-dev] Access to dynamic execution information.

Manuel Rigger via llvm-dev llvm-dev at lists.llvm.org
Fri May 13 15:16:01 PDT 2016


Hi,

depending on your specific use case you could have a look at the Sulong
project (https://github.com/graalvm/sulong/). Sulong can execute LLVM IR
programs and gathers profiling information during the program's execution.
For example, Sulong profiles the frequency of successor blocks in the
interpreter, to then communicate it to the dynamic compiler for better
optimization [1]. Similarly, you could implement a node that counts the
number of executed instructions between two points in the program and
instantiate it in the parser [2].

- Manuel

[1]
https://github.com/graalvm/sulong/blob/master/projects/com.oracle.truffle.llvm.nodes.impl/src/com/oracle/truffle/llvm/nodes/impl/base/LLVMBasicBlockNode.java
[2]
https://github.com/graalvm/sulong/blob/master/projects/com.oracle.truffle.llvm.parser.impl/src/com/oracle/truffle/llvm/parser/impl/LLVMVisitor.java

2016-05-13 16:35 GMT+02:00 fateme Hoseini via llvm-dev <
llvm-dev at lists.llvm.org>:

> Hi
> Does LLVM dynamically run the program to obtain profiling information like
> branch weight? if so, can we access the information regarding this run like
> the number of instructions that have been executed dynamically between two
> specific points of the program?
>
> Thanks
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160514/eeaaad0a/attachment.html>


More information about the llvm-dev mailing list