Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] New JIT APIs"
2015 Jan 16
5
[LLVMdev] New JIT APIs
Hi Armin,
> The MCJIT API can only be used once to JIT compile external souces to
excuteable code into the address space of a running process.
I'm not sure exactly what you mean by "can only be used once" in this
context. Regardless, the new APIs are definitely designed to make it easier
to lead, unload and replace modules, and I hope they will support a wider
range of use cases
2015 Jan 14
3
[LLVMdev] New JIT APIs
Hi Philip,
In terms of the overall idea, I like what your proposing. However, I want
> to be very clear: you are not planning on removing any functionality from
> the existing (fairly low level) MCJIT interface right?
>
To confirm - I have no plans to remove MCJIT. I don't want to change any
behavior for existing clients. The new stuff is opt-in.
> We've built our own
2015 Mar 13
4
[LLVMdev] Thoughts about ExecutionEngine/MCJIT interface
Hi,
I think ExecutionEngine as a common interface for both Interpreter and
MCJIT is almost useless in the current form. There are separated methods in
ExecutionEngine for similar or the same features provided by Interpreter
and MCJIT, i.e. to get a pointer to function you should call
getPointerToFunction() for Interpreter or getFunctionAddress() for MCJIT.
Personally, I'm using MCJIT and
2015 Jan 14
4
[LLVMdev] New JIT APIs
On 01/14/2015 02:33 PM, David Blaikie wrote:
>
>
> On Wed, Jan 14, 2015 at 2:22 PM, Lang Hames <lhames at gmail.com
> <mailto:lhames at gmail.com>> wrote:
>
> Hi Dave,
>
> To confirm - I have no plans to remove MCJIT. I don't want
> to change any behavior for existing clients. The new stuff
> is opt-in.
>
2015 Jan 14
3
[LLVMdev] New JIT APIs
Hi Dave,
To confirm - I have no plans to remove MCJIT. I don't want to change any
>> behavior for existing clients. The new stuff is opt-in.
>>
>
> Why not? We did work to remove the legacy JIT in favor of MCJIT for the
> usual reasons (less code/maintenance burden/etc) - it'd seem unfortunate to
> then go back to maintaining two JITs again.
>
> You mention
2017 Jul 27
2
llvm 5.0 release rc1 : ExecutionEngine fatal error on MCJIT::getFunctionAddress
Hi everyone,
In llvm 4.0 the MCJIT::getFunctionAddress function return 0 (a null
address) when the symbol is not found :
*uint64_t MCJIT::getSymbolAddress(const std::string &Name, bool
CheckFunctionsOnly) { std::string MangledName; { raw_string_ostream
MangledNameStream(MangledName);
Mangler::getNameWithPrefix(MangledNameStream, Name, getDataLayout()); }
return
2015 Aug 13
4
Linking existing functions from JITed code
Hi
I’ve previously used the ExecutionEngine::addGlobalMapping to make existing
functions available to my JITed code.
I’m currently using ORC, as MCJIT does not appear to be maintained any
longer (the kaleidoscope examples have not worked for some time with
MCJIT).
I’m using just the basic ORC CompileLayer directly.
So, I’ve essentially copied the ExecutionEngine::addGlobalMapping related
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:
2015 Mar 14
2
[LLVMdev] Thoughts about ExecutionEngine/MCJIT interface
Another question: Lang, when do you think it'll be ok to move it to the C
Bindings?
On Fri, Mar 13, 2015 at 6:39 PM, Lang Hames <lhames at gmail.com> wrote:
> Hi Pawel,
>
> I agree. ExecutionEngine, in its current form, is unhelpful. I'd be in
> favor of cutting the common interface back to something like:
>
> class ExecutionEngine {
> public:
> virtual
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 example of the usage of CompileOnDemandLayer. Is
> there an example
2018 Jul 01
2
I've seen OrcJit is under overhaul, and also the MCJIT, so what's the plan?
I didn't seen any roadmap and plan about OrcJit & MCJIT.
And would OrcJIT be stablize in version 7.0? Or latter version?
Would MCJIT be removed in source tree, when?
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2013 Nov 01
2
[LLVMdev] [Proposal] Adding callback mechanism to Execution Engines
Hi Andrew,
I used the latest code from trunk. GlobalSymbolTable is being used in
MCJIT.
I guess it wasn't clear from the proposal that the user program will be
modified to indicate that the callback should happen at that point in the
code. The objective is to call some of the functions which belong to lli or
the ExecutionEngine.
Thanks,
Sumeeth
On Fri, Nov 1, 2013 at 5:40 PM, Kaylor,
2013 Nov 01
0
[LLVMdev] [Proposal] Adding callback mechanism to Execution Engines
Unless I'm missing something, indeed addGlobalMapping should not work with
MCJIT.
MCJIT does not consult EEState.getGlobalAddressMap when resolving symbols.
Instead it uses RTDyldMemoryManager::getSymbolAddress which checks
with DynamicLibrary::SearchForAddressOfSymbol, so Andy's suggestion of
DynamicLibrary::addSymbol is better as it should work with both JIT and
MCJIT.
Another options
2019 Aug 08
6
New ORC v2 LLJIT - global variables
We are trying to switch to the new orc v2 lljit engine at my work with
hopes of parallel jitting. We are switching from the ExecutionEngine w/
OrcMCJitReplacement. We are having a hard time with global variables. We
have found a way to create/emit new globals during jitting by using the old
ExecutionEngine::getOrEmitGlobalVariable. Is there an easier way to do this
with the new jit engine? We were
2016 May 12
2
Orc/MCJIT: Relocations vs pointers to functions
Thanks!
Currently using MCJIT. But migration to ORC is on my TODO list.
- Paweł
On Thu, May 12, 2016 at 8:30 PM Lang Hames <lhames at gmail.com> wrote:
> Hi Pawel,
>
> Option (1) and (3) are very similar, but using custom resolution (option
> 3) guarantees that JIT'd code can't accidentally end up depending on
> functions in your JIT that you didn't mean to
2015 Jan 20
2
[LLVMdev] [ LLI / MCJIT] re-initializing of lli ...
Hi Armin,
Argument parsing isn't handled by the JIT. This sounds like you're making
redundant calls to cl::ParseCommandLineOptions ?
Deleting the ExecutionEngine and any RTDyldMemoryManager instances that
you've created should be enough to reset the JIT.
Cheers,
Lang.
On Tue, Jan 20, 2015 at 12:38 PM, Armin Steinhoff <armin at steinhoff.de>
wrote:
>
> Hi,
>
>
2015 Mar 19
4
[LLVMdev] How will OrcJIT guarantee thread-safety when a function is asked to be re generated?
Hi Hayden,
Dave's answer covers this pretty well. Neither Orc nor MCJIT currently
reason about replacing function bodies. They may let you add duplicate
definitions, but how they'll behave if you do that isn't specified in their
contracts. They definitely won't replace old definitions unless you provide
a custom memory manager that's rigged to lay new definitions down on top
2015 Jan 16
2
[LLVMdev] Function calls only being JIT'd once by Kaleidoscope with MCJIT?
Oh - I know what this is. You were running this on Linux, right?
On MacOS I think the symbol is getting double mangled while going through
MCJIT::getSymbolAddress, hence the failure: The IR level foo function gets
compiled to "_foo" in the object file, and then "_foo" gets mangled to
"__foo" when we look it up. Linux doesn't do assembly level name-mangling,
so
2015 Jul 27
15
[LLVMdev] Help with using LLVM to re-compile hot functions at run-time
Hi Again,
I'm a little confused regarding what is the exact Orc's functions I should
use
in order to save the functions code in a code cache so it could be later
replaced with different versions of it and I appreciate your help.
Just a reminder I want to dynamically recompile the program based on
profile
collected at the run-time. I would like to start executing the program
from
the
2015 Jul 23
2
[LLVMdev] ORC and relocations
Yes, I’m handling all internal and external relocations manually in NotifyLoadedFtor and I already verified that I get the behavior I need if I comment out the call to resolveRelocations.
I would like to reuse ObjectLinkingLayer::addObjectSet (which eventually calls RuntimeDyld::loadObject), which has the right calls to the memory manager and also RuntimeDyld::registerEHFrames.
I understand that