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...