Displaying 20 results from an estimated 23 matches for "orcmcjitreplacement".
2018 Jun 25
2
runStaticConstructorsDestructors() causes crash on exit
Many thanks for the sample code, Alex. In the end I did it the same way
OrcMCJITReplacement does it. Constructors and destructors are called and,
thanks to LocalCXXRuntimeOverrides, the program does not crash on exit! But
it does seem like there should be a simpler way; the learning curve is
steep...
Geoff
On Thu, 21 Jun 2018 at 12:28, Alex Denisov <1101.debian at gmail.com> wrote...
2019 May 31
2
Commit 93af05e03e05d2f85b5a7e20ec3a3a543584d84f causes warning
Hello,
After commit 93af05e03e05d2f85b5a7e20ec3a3a543584d84f we have new warning but only if compiled with GCC:
In file included from /path/to/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h:19:0,
from /path/to/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h:23,
from /path/to/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp:9:
/path/to/llvm/include/llvm/ExecutionEngine/Orc/Core.h:690:25: warning: 'llvm::orc::JITDylib::SymbolTableEntry::State' is too small to hold all values of 'enum class llvm::orc::JITDylib::SymbolSt...
2018 Jun 21
2
runStaticConstructorsDestructors() causes crash on exit
When OrcMCJITReplacement is given a new module, it asks for the module's
constructors, gives them names like $static_ctor.0, $static_ctor.1, etc.,
and saves the mangled names in a map. Later, to execute them, it uses
runViaLayer(), which looks for those symbol names in the given JIT layer.
Could one not simply execute...
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 hoping to create a new ThreadSafeModule,
add a GlobalVariable...
2019 May 31
2
Commit 93af05e03e05d2f85b5a7e20ec3a3a543584d84f causes warning
...03e05d2f85b5a7e20ec3a3a543584d84f we have new warning
>> but only if compiled with GCC:
>>
>> In file included from
>> /path/to/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h:19:0,
>>
>> from
>> /path/to/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h:23,
>>
>> from
>> /path/to/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp:9:
>>
>> /path/to/llvm/include/llvm/ExecutionEngine/Orc/Core.h:690:25: warning:
>> ‘llvm::orc::JITDylib::SymbolTableEntry::State’ is too small to hold all
>>...
2016 Jul 15
2
More function signatures for LLVMRunFunction?
...h I am using is to add a function to TargetMachine called
runFunctionNatively:
virtual GenericValue runFunctionNatively(Function *F, void *FPtr,
ArrayRef<GenericValue> ArgValues);
This houses most of the duplicated code currently in runFunction, and can
then be called from either MCJIT or OrcMCJITReplacement. I then have an
override for X86TargetMachine that uses the register trick.
I'd like to see a generic implementation that can handle all architectures
> first, maybe with an specialized version for specific ABIs as an
> optimization.
>
I agree a generic implementation would be ideal,...
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
2017 Aug 24
1
Invalid Signature of orc::RTDyldObjectLinkingLayer::NotifyLoadedFtor
...what listeners expect:
$ grep -h -r -A 1 "NotifyObjectEmitted("
./include/llvm/ExecutionEngine/JITEventListener.h
virtual void NotifyObjectEmitted(const object::ObjectFile &Obj,
const RuntimeDyld::LoadedObjectInfo
&L) {}
It doesn't break OrcMCJITReplacement as it duplicates the issue and the
Info parameter remains unused:
$ grep -h -r -A 4 -B 2 "const LoadedObjectInfo &Info"
./lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
void operator()(RTDyldObjectLinkingLayerBase::ObjHandleT H,
const RTDyldObjectLinkingLayer::...
2019 May 12
2
JIT compilation with LLVM
...har const *);` as closely as
possible) to the compiled result. The MCJIT class offers the most
convenient API for me, but I'm not sure it is intended for public use as it
is not in the include path in a LLVM installation, even when built from
source (I am building from the git repo); neither is OrcMCJITReplacement.
What is the way that you would suggest to use LLVM's JIT capabilities? It
would already help a lot if I knew which function/class names to look up.
Thank you in advance for your attention,
--
Daniel Campos do Nascimento
-------------- next part --------------
An HTML attachment was scrubbed...
2020 Sep 07
2
OrcV1 removal
Hi All,
The time has finally come to remove OrcV1. I expect to remove it some time
after the 14th of September. This will remove all the legacy layers, legacy
utilities, the old Orc C bindings, and OrcMCJITReplacement. ExecutionEngine
and MCJIT will *not* be affected by this.
I had hoped to have removable code enabled before deleting OrcV1, but it
turns out that implementing removable code in OrcV2 without simultaneously
breaking it in OrcV1 is difficult. Instead my plan is to delete OrcV1 and
implement removab...
2018 Jun 19
2
runStaticConstructorsDestructors() causes crash on exit
...the new clang-interpreter example in the
source code (top of the tree!), I am able to execute my functions all
right... as long as there are no constructors and destructors to call.
My question: is there a simple way, with the Orc API, to run a module's
constructors and destructors? I see how OrcMCJITReplacement does it,
calling getConstructors() and getDestructors() when a module is added, and
running them later using a layer, but is there maybe a simpler way that I
am missing? I would prefer to avoid having to invent secret names for
constructors, play with their linkage and visibility, and generally get...
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 doing true lazy
> compilation of bitcode. Both are hooked up to lli, and be accessed using
> the -jit-kind option.
>
Any thoughts of...
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 dead/deprecated and projects using it should start
> migrating away now? If so, what's the time frame?
The short answer is yes: I expect MCJIT to be dep...
2020 Sep 07
2
OrcV1 removal
...:
> Hi,
>
> On 2020-09-06 23:16:00 -0700, Lang Hames wrote:
> > The time has finally come to remove OrcV1. I expect to remove it some
> time
> > after the 14th of September. This will remove all the legacy layers,
> legacy
> > utilities, the old Orc C bindings, and OrcMCJITReplacement.
> ExecutionEngine
> > and MCJIT will *not* be affected by this.
> >
> > I had hoped to have removable code enabled before deleting OrcV1, but it
> > turns out that implementing removable code in OrcV2 without
> simultaneously
> > breaking it in OrcV1 is difficul...
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:
2015 Feb 01
3
[LLVMdev] OrcJIT in LLVM C bindings
Hello,
I was wondering if there is someone already working on putting the new
OrcJIT APIs in the LLVM-C bindings?
Also, is there a general consensus to also add C bindings when new major
features are added?
Hayden
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150201/061f5949/attachment.html>
2019 May 08
2
Reuse llvm::ExecutionEngine
Heyho,
I can only provide you with a screenshot for the first problem I noticed:
[https://media.discordapp.net/attachments/534012750045642783/575369402195640321/unknown.png]
This code will crash when calling "eeBuilder.create".
But I also looked at what happens if I do reuse the llvm::ExecutionEngine. After the call to "finalizeObject" I use "removeModule" for the
2020 Sep 16
4
OrcV1 removal
...6:00 -0700, Lang Hames wrote:
>>> > The time has finally come to remove OrcV1. I expect to remove it some
>>> time
>>> > after the 14th of September. This will remove all the legacy layers,
>>> legacy
>>> > utilities, the old Orc C bindings, and OrcMCJITReplacement.
>>> ExecutionEngine
>>> > and MCJIT will *not* be affected by this.
>>> >
>>> > I had hoped to have removable code enabled before deleting OrcV1, but
>>> it
>>> > turns out that implementing removable code in OrcV2 without
>>&...
2016 Jul 11
2
More function signatures for LLVMRunFunction?
Hello,
I am new to LLVM, and came across a snag when working through tutorials.
With the MC JIT execution engine, LLVMRunFunction only works on
"main()"-like functions -- other functions fail with the message
"Full-featured argument passing not supported yet!". The workaround
recommended by the tutorials is to create a main()-compatible wrapper
function and to send in
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;