search for: compileondemand

Displaying 9 results from an estimated 9 matches for "compileondemand".

2015 Jan 14
4
[LLVMdev] New JIT APIs
...y); uint64_t lookupSymbolAddressIn(Handle H, StringRef Name, bool ExportedSymbolsOnly); }; Layers are usually designed to sit one-on-top-of-another, with each doing some sort of useful work before handing off to the layer below it. The layers that are currently included in the patch are the the CompileOnDemandLayer, which breaks up modules and redirects calls to not-yet-compiled functions back into the JIT; the LazyEmitLayer, which defers adding modules to the layer below until a symbol in the module is actually requested; the IRCompilingLayer, which compiles bitcode to objects; and the ObjectLinkingLaye...
2015 Jan 16
5
[LLVMdev] New JIT APIs
...In(Handle H, StringRef Name, bool > ExportedSymbolsOnly); > }; > > Layers are usually designed to sit one-on-top-of-another, with each > doing some sort of useful work before handing off to the layer below it. > The layers that are currently included in the patch are the the > CompileOnDemandLayer, which breaks up modules and redirects calls to > not-yet-compiled functions back into the JIT; the LazyEmitLayer, which > defers adding modules to the layer below until a symbol in the module is > actually requested; the IRCompilingLayer, which compiles bitcode to > objects; and t...
2016 May 27
1
How to recompile functions with ORC JIT?
...r this is the IndirectStubsManager (see llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h). If you have access to the appropriate IndirectStubsManager you just need to call the updatePointer method with the name of the function you want to update and the new address. If you're using the CompileOnDemand layer to compile lazily from IR, the problem is that that layer doesn't (currently) expose the IndirectStubManager for each module. I think it would be reasonable to add support for that if you need it though. So - what is your current setup? You may also be interested in the latest chapter o...
2015 Jul 20
0
[LLVMdev] Help with using LLVM to re-compile hot functions at run-time
Hi Revital, The CompileOnDemand layer is used by the lazy bitcode JIT in the lli tool. You can find the code in llvm/tools/lli/OrcLazyJIT.* . Cheers, Lang. On Mon, Jul 20, 2015 at 2:32 AM, Revital1 Eres <ERES at il.ibm.com> wrote: > Hello Lang, > > Thanks for your answer. > > I am now looking for an examp...
2016 May 27
0
How to recompile functions with ORC JIT?
+Lang Ultravague answer: There are a few different Orc layers for different levels of indirection needed for different levels of substitutability. One way is to indirect every call through global function pointers - so when you want to replace the function you write the new function pointer to the global variable. I forget which layers do which kinds of indirection. - Dave On Thu, May 26, 2016
2015 Jul 20
2
[LLVMdev] Help with using LLVM to re-compile hot functions at run-time
Hello Lang, Thanks for your answer. I am now looking for an example of the usage of CompileOnDemandLayer. Is there an example available for that (could not find one in llvm/examples)? Thanks, Revital From: Lang Hames <lhames at gmail.com> To: Revital1 Eres/Haifa/IBM at IBMIL Cc: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu> Date: 10/07/2015 12:10 AM Subject:...
2016 May 27
2
How to recompile functions with ORC JIT?
Hello, I am trying to figure out how to recompile functions multiple times during run-time with ORC JIT and I'd appreciate any help/advice. My use case is t he following: every time a function of interest (annotated) is called, profiling data are gathered. Given enough data the function is recompiled using different optimizations. This happens repeatedly until the "best"
2015 Jul 28
0
[LLVMdev] Help with using LLVM to re-compile hot functions at run-time
...uting the program from the code-cache and at some point be able to replace a function body with it's new compiled version; this can be done by replacing the entry in the function code with a trampoline to It's new version so that future calls to it will call the new version code. Does the CompileOnDemandLayer executes the program from a code cache and holds pointers to the code of the functions it executes? I am compiling for Power machine. Is there a target specific pieces that I should implement for making Orc work on Power? Thanks again, Revital From: Lang Hames <lhames at gmail.c...
2015 Jul 27
15
[LLVMdev] Help with using LLVM to re-compile hot functions at run-time
...g the program from the code-cache and at some point be able to replace a function body with it's new compiled version; this can be done by replacing the entry in the function code with a trampoline to It's new version so that future calls to it will call the new version code. Does the CompileOnDemandLayer executes the program from a code cache and holds pointers to the code of the functions it executes? I am compiling for Power machine. Is there a target specific pieces that I should implement for making Orc work on Power? Thanks again, Revital From: Lang Hames <lhames at gmail.co...