Displaying 20 results from an estimated 6000 matches similar to: "Question about LLVM LLJIT Compile time"
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
2019 May 10
2
ORC - which example code?
Trying to put together a simple test JIT compiler, using ORC which as I
understand it will be the supported API going forward, I noticed that in
the first chapter of the updated Kaleidoscope tutorial, there is sample
code that starts like this:
ExecutionSession ES;
RTDyldObjectLinkingLayer ObjectLayer;
IRCompileLayer CompileLayer;
DataLayout DL;
MangleAndInterner Mangle;
ThreadSafeContext Ctx;
2020 Sep 23
2
ORC JIT - Can modules independently managed with one LLJIT instance? + problems with ExecutionSession.lookup
Hi Lang,
Thank you for your answer! This helped me again a lot!! Also that ResourceTracker is a really neat feature! Looking forward to it! :3
I changed the title cause… there is another issue I have (sorry about that…)
I’m finally allowed to investigate the ORC JIT for integration into our system, which meant I got a few days to actually play around with it. However, another problem arise
2020 Sep 24
2
ORC JIT - Can modules independently managed with one LLJIT instance? + problems with ExecutionSession.lookup
Hey Lang,
I would be really happy to only have one LLJIT instance and using multiple JITDylibs. However… it seems like that I don’t know enough to use them. So I wonder…
1. When I add Module A to JITDylib A and Module B to JITDylib B – where will those look for undefined symbols? Will Module A for example: will it only search itself and the MainDylib? Or would it also search in JITDylib B?
2019 May 13
3
Orc JIT v1 Deprecation
Hi folks,
Rather by accident than on purpose I looked at the release notes and found the following:
http://releases.llvm.org/8.0.0/docs/ReleaseNotes.html#changes-to-the-jit-apis
TL;DR: Orc v1 is deprecated and will be removed in the next release.
I have several questions in this regard:
1. Is there a migration guide I can use to update my code to the new version?
2. Is there any development
2019 Mar 23
2
GSoC- Speculative compilation support in ORC v2 , looking for mentors!
Hi all,
I would like to propose "Speculative compilation support in ORC v2 JIT
API" for this year GSoC summer project.
Project Description:
Speculative compilation support. One of the selling points of the
concurrent ORC APIs is that you can start compiling a function before
you need it, in the hope that by the time that you do need it it is
already compiled. However, if we just
2019 Dec 20
4
LLJIT vs. thread-local storage
I am in the process of porting our ORC code to ORC v2 and LLJIT. Now that I
have worked around a problem getting global constructors to be called,
everything seems to work unless a module declares a static thread-local
variable. In that case I get a "JIT session error" saying that the symbol __
emutls_v.xyz was not found (substitute the mangled variable name for "xyz").
Does
2019 Dec 20
2
LLJIT vs. thread-local storage
And yet the same C++ code using thread-local variables works fine (or seems
to) when compiled with Orc v1. Does the change to the Orc API really make
thread-local storage more difficult?
On Fri, Dec 20, 2019 at 3:52 PM Praveen Velliengiri <
praveenvelliengiri at gmail.com> wrote:
> Oh, I think Linux don't have support for TLS.
>
> On Fri, 20 Dec 2019 at 20:19, Geoff Levner
2019 Dec 20
2
LLJIT vs. thread-local storage
Argh. Thanks for the info. We're on Linux.
On Fri, Dec 20, 2019 at 3:46 PM Praveen Velliengiri <
praveenvelliengiri at gmail.com> wrote:
> Hi Geoff,
> Gathering from past, I remember that the ORCv2 doesn't support thread
> local variable but not sure what is the current status now. What platform
> you are on?
> CC'ed (Lang hames) he knows exactly what is the
2019 Dec 20
2
LLJIT vs. thread-local storage
Yes, I confirm.
Le ven. 20 déc. 2019 à 19:12, Praveen Velliengiri <
praveenvelliengiri at gmail.com> a écrit :
> Hi,
> Orc v2 is different from the internal structure then Orc v1 not just in
> API level.
> TLS support is not in ORC for a long time at least I'm aware of , Could
> you please confirm that ORC v1 actually compiles and run the code with
> Thread locals?
2019 Mar 24
2
GSoC- Speculative compilation support in ORC v2 , looking for mentors!
Hi Bekket,
Sorry for the delayed reply.
By appropriate, I mean performance of compiled native code.
I was referring other JIT implementations like LuaJIT & webkit FTL JIT
to see how they implement their JIT. I have gone through the design of
Spider Monkey & Android runtime (ART) JIT. As, you said both region
based and method based compilation unit have their own advantage &
2019 Dec 20
3
LLJIT vs. thread-local storage
I don't think it's especially hard, but just not specifically unimplemented
because nobody's had a strong need for it. There's probably some
combinations of code models and machines that does happen to work (e.g.
emutls+linux+large-code+large-data+no-PIC). Julia has some support for
thread locals, but as a JIT in control of the language we currently try to
generate better code than
2019 Dec 20
3
LLJIT vs. thread-local storage
This had also came up at llvm-devmtg briefly at the JIT roundtable. One of
the collaborators on my project had started a patch years ago to implement
some of it https://reviews.llvm.org/D8815, but then we went a different
direction with TLS in our frontend and it became unnecessary.
On Fri, Dec 20, 2019 at 12:36 PM David Blaikie via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> +Lang
2020 Sep 28
2
LLJIT vs. thread-local storage (again)
Hmm, I'm confused. The DSO is compiled with gcc. Do I need to compile
it with clang instead? I don't believe the JITted code uses the thread
support library directly, although I suppose it may be hidden with
templates and/or inline functions...
On Mon, Sep 28, 2020 at 10:43 PM Lang Hames <lhames at gmail.com> wrote:
>
> Hi Geoff,
>
> If you want to access the variable
2018 Sep 15
4
LLVMContext: Threads and Ownership.
Hi All,
ORC's new concurrent compilation model generates some interesting lifetime
and thread safety questions around LLVMContext: We need multiple
LLVMContexts (one per module in the simplest case, but at least one per
thread), and the lifetime of each context depends on the execution path of
the JIT'd code. We would like to deallocate contexts once all modules
associated with them have
2020 Nov 16
2
ORC JIT Weekly #26 -- Orc library break-up, remote TargetProcessControl, and the beginnings of a runtime.
Hi All,
I'm back again after a couple of weeks hiatus, and I have some good news
for anyone interested in cross-process JITing with OrcV2: The remote
TargetProcessControl and Orc library breakup patch has landed
in 1d0676b54c4 [1]. Thanks very much to Dave Blaikie and Stefan Graenitz
for all their feedback on the review!
As described in my last email, this commit breaks the OrcJIT library
2020 Sep 28
2
LLJIT vs. thread-local storage (again)
Hi JITters,
I have some JIT-compiled C++ code that uses symbols from a DSO which
uses C++14's thread support library. When I compile it I get the
following error message:
Symbols not found: [ __emutls_v._ZSt15__once_callable,
__emutls_v._ZSt11__once_call ]
Those seem to correspond to std::__once_callable and std::__once_call,
which are indeed present in the C++ standard library. And I
2020 Oct 01
2
OrcV1 removal
Hi,
On 2020-10-01 15:29:12 -0700, Lang Hames wrote:
> 24bytes / object -- Looks like I managed module ownership correctly but
> leaked the ThreadSafeModule container. This should be fixed in 5044196b412f.
That helped a bit, but not yet fully. Looks like it might be still
reachable memory, so leakcheck isn't that helpful.
Oooh. I think I see. For various reasons the symbol names we
2018 Nov 05
2
ORC JIT api, object files and stackmaps
Hi Christian
Your use case seems to have similar requirements as remote JITing in
ORC. So far I haven't used that part myself and I am sure Lang can tell
you much more about it. However, this comment on the
RemoteObjectClientLayer class sounds promising for your questions (1)
and (2):
/// Sending relocatable objects to the server (rather than fully relocated
/// bits) allows JIT'd code
2019 May 18
2
Bugzilla OrcJIT Tickets
Hi Stefan
Thank you!
In case, you missed in llvm-dev listing: you can find the proposal here : link.
<https://docs.google.com/document/d/1202EcXlWMQ8yxu5qD0b5fE0a_kihlcaPNpZo_Jk0YeQ/edit?usp=sharing>
Thanks for working on summarising the Bugzilla tickets to track the recent
changes in ORC this is really helpful.
On Sat, 18 May 2019 at 21:33, Stefan Gränitz <stefan.graenitz at