[LLVMdev] Help with using LLVM to re-compile hot functions at run-time (original) (raw)
Lang Hames lhames at gmail.com
Thu Jul 9 14:10:53 PDT 2015
- Previous message: [LLVMdev] Help with using LLVM to re-compile hot functions at run-time
- Next message: [LLVMdev] Help with using LLVM to re-compile hot functions at run-time
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Revital,
LLVM does have an IR interpreter, but I don't think it's maintained well (or possibly at all). The interpreter is also not designed to interact with the LLVM JITs.
We generally encourage people to just JIT LLVM IR, rather than interpreting it. For the use-case you have described, you could JIT IR with no optimizations to begin with, then re-JIT hot functions at a higher level.
The Orc JIT APIs (LLVM's newer JIT APIs) were written with this kind of use-case in mind, and are probably a better fit for this than MCJIT. There is no built-in hot-function detection or recompilation yet, but I think this would be fairly easy to write in terms of Orc's callback API.
Cheers, Lang.
On Thu, Jul 9, 2015 at 4:19 AM, Revital1 Eres <ERES at il.ibm.com> wrote:
Hello,
I am new to LLVM and a I appreciate your help with the following: I want to run the LLVM IR through virtual machine (LLVM interpreter?) and jit compile the hot functions (using MCJIT). This task will require amongst other identifying the hot functions and having a code cache that should be patched with the native code of the functions after they are jitted. I've read so far about MCJIT and lli however I have not seen that the LLVM interpreter can be used as a VM the way I was looking for; meaning execute the code one instruction at a time; have a profiling mode to identify hot functions and call jit to compile the hot functions. I appreciate any advice/starting points for this project. Thanks, Revital
LLVM Developers mailing list LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150709/5e4d8a1f/attachment.html>
- Previous message: [LLVMdev] Help with using LLVM to re-compile hot functions at run-time
- Next message: [LLVMdev] Help with using LLVM to re-compile hot functions at run-time
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]