Displaying 20 results from an estimated 10000 matches similar to: "MCJIT versus Orc"
2016 Mar 29
0
MCJIT versus Orc
Russell Wallace via llvm-dev <llvm-dev at lists.llvm.org> writes:
> When writing a JIT compiler using LLVM, as I understand it, you can use two
> alternative APIs, MCJIT and Orc. The latter offers lazy compilation. Would
> it be accurate to say that if you want eager compilation - always compile
> an entire module upfront - you should use MCJIT?
+lang.
My understanding is that
2016 Mar 29
1
MCJIT versus Orc
Right, but is there any known use case where Orc's flexibility allows
something to be done that couldn't be with MCJIT, apart from lazy
compilation?
On Wed, Mar 30, 2016 at 12:19 AM, Justin Bogner <mail at justinbogner.com>
wrote:
> Russell Wallace via llvm-dev <llvm-dev at lists.llvm.org> writes:
> > When writing a JIT compiler using LLVM, as I understand it, you
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
2016 May 11
2
Orc/MCJIT: Relocations vs pointers to functions
Hi LLVM, Lang.
I'm looking for a advice here. And I truly understand very little what the
relocations are and how they work.
The problem I want to solve is the case where a jitted code has to call
back the host application to query additional data. I can think of 3
possible solutions:
1. Use built-in relocation resolver (in default memory manager?) and
allow the JIT to find the
2015 Jul 02
3
[LLVMdev] MCJIT or ORC JIT for new project?
Hi,
For a new language I am developing (in the very early stages, nothing public
posted yet) I would like to able to use a JIT for several purposes:
1) Create a functional REPL as is done is done with in the Kaleidoscope
tutorial.
2) Be able to interpret my language in addition to compiling.
3) While compiling, be able to execute arbitrary code at compile time. The
simple case will be to
2019 Jun 30
2
orc vs mcjit
Thanks Praveen. Is it suitable for LLVM 7.0.1 ? Apart from flexibility, do
we see any compile time improvements as well with ORC?
On Sun, Jun 30, 2019 at 12:31 PM Praveen Velliengiri <
praveenvelliengiri at gmail.com> wrote:
> MCJIT hopefully will be removed in subsequent releases. I think the last
> release version is more suitable.
>
> On Sun, 30 Jun 2019 at 11:45, Ashok
2019 Jun 30
2
orc vs mcjit
Which llvm version is more suitable to switch to orc - vs - mcjit. We
don't have requirement of lazy compilation, in that case, is it worth
switching?
We do have requirement of ability to serialize machine code and reuse it
later. MCJit seems to provide that option - how well is that supported in
ORC ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2019 Jun 30
2
orc vs mcjit
yeah i m concerned about jit compilation time..
On Sun, Jun 30, 2019 at 12:57 PM Praveen Velliengiri <
praveenvelliengiri at gmail.com> wrote:
> Yes I think so.. Could you please tell me in which context (compile time
> improvement)? That is whether you are interested in knowing whether having
> ORC instead of MCJIT, will increase your LLVM Build time or you are
> concerned
2019 Jun 19
2
Questions about moving from MCJIT to Orc JIT
Hello LLVM-Mailing list,
in the past I was using the MCJIT (if I understand it correctly) to load IR modules, compile them and execute them. The speciality of this JIT was, that it was writing the compiled code into a shared memory - for a different process to execute them. For that task the JIT used a 'custom' memory manager, memory mapping and also resolved undefined references itself.
2016 Nov 16
2
MCJit and remove module memory leak?
Hi Kevin, Koffie,
We will start migrating to ORC for next release, but for now, this release
> invoke delete after remove right?
MCJIT's removeModule method does not delete the module. You'll need to do
that manually. OrcMCJITReplacement is a bug-for-bug compatible
implementation of MCJIT using ORC components, so it does not free the
memory either.
Does this mean MCJIT is
2016 May 24
2
ORC and MCJIT clients: Heads up, API breaking changes in the pipeline.
Hi All,
I'm going to be making some API breaking changes to the ORC APIs, and to
the RuntimeDyld class (which underlies MCJIT). The changes may affect MCJIT
clients but are unlikely to. Where they do the fixes are likely to be
trivial. ORC clients will be affected, but the fixes should also be
straightforward.
I have three upcoming changes in mind:
1) RuntimeDyld (the linker underlying
2016 Jul 29
2
Memory usage with MCJit
Hi Koffie,
I'd highly recommend switching to ORC from MCJIT. It is much more flexible
when it comes to memory-management.
1. I took the approach of 1 execution engine with multiple modules (I'm not
> removing modules once they have been added). During profiling, I noticed
> that the memory usage is high with a lot of code. How can I reduce the
> memory usage? Is one execution
2019 Jun 27
2
Questions about moving from MCJIT to Orc JIT
Hi Bjoern,
CC'ing Lang hames
For questions,
1. In short yes, you can replace the memory manager, default one provided
is section memory manager.
2. If you mean by " address of already compiled code", yes you can do that.
Like this
JITDylib.define(absoluteSymbols, ( Your_own_symbol ,
JITTargetAddress(Address of function))), now ORC can resolve all the
references to Your_own_symbol
2016 May 27
1
ORC and MCJIT clients: Heads up, API breaking changes in the pipeline.
Hi Lang, thanks for announcing. Would be great if you could send another
short notice as soon as the actual patch exists.
Best, Stefan
Am 24.05.16 um 23:06 schrieb Lang Hames via llvm-dev:
> Hi All,
>
> I'm going to be making some API breaking changes to the ORC APIs, and
> to the RuntimeDyld class (which underlies MCJIT). The changes may
> affect MCJIT clients but are unlikely
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
2019 Jun 27
2
Questions about moving from MCJIT to Orc JIT
Nice!
Let me try to answer some questions,
Before that I have to mention this is ORC version 2 APIs and this is where
the project is moving forward.
JITDylib is the symbol table, basically for a JIT Symbol it have an
associated materializers, (you can think of it like an entity that generate
the address for that symbol),
Example: compiler are materializers.
So to add symbols to your own JIT you
2016 Oct 28
4
MCJit and remove module memory leak?
I'm on llvm 3.8.1 and was wondering if there's a memory leak in the
removeModule impl of mcjit.
In the tutorial http://llvm.org/releases/3.8.1/docs/tutorial/LangImpl4.html
a module is removed from the Jit by invoking removeModule.
According to the tutorial:
"Its API is very simple:: addModule adds an LLVM IR module to the JIT,
making its functions available for execution;
2016 May 17
3
External function resolution: MCJIT vs ORC JIT
When using ORC JIT, I'm having trouble with external function resolution (that is, of a function defined in the app, with C linkage).
I add a declaration for the function to my IR, and when I use MCJIT, it finds it and all is well, But when I use ORC JIT (I *think* correctly, at least it closely matches what I see in the tutorial), I get an LLVM error, "Program used external function
2015 Jun 04
2
[LLVMdev] a life-cycle question for MCJIT
Context:
We use MCJIT to generate machine code in our LLVM based JIT compiler.
The code generation process has roughly 5 steps:
0. Generate and optimize LLVM IR.
1. Call generateCodeForModule on the output of (0) to translate LLVM
IR to machine code.
2. Figure out the final locations for the code and data generated by
MCJIT using an allocator specific to our runtime. Make
2015 Apr 15
2
[LLVMdev] ORC jit example (was: refs to LLVM consultants)
On Tue, Apr 14, 2015 at 7:24 AM, Lang Hames <lhames at gmail.com> wrote:
>
>
> There are two other Orc-based JITs in tree. One is the MCJIT replacement,
> which you'll find in lib/ExecutionEngine/Orc/OrcMCJITReplacement.*, and the
> other is OrcLazyJIT, which you'll find in tools/lli/OrcLazyJIT.*. The
> former is just emulating MCJIT's behaviour, the latter is