Displaying 20 results from an estimated 2000 matches similar to: "ORC JIT Weekly #6 -- General initializer support and JITLink optimizations"
2020 Feb 16
2
ORC JIT Weekly #5
Hi All,
The initializer patch review at https://reviews.llvm.org/D74300 has been
updated. The new version contains a MachOPlatform implementation that
demonstrates how Platforms and ObjectLinkingLayer::Plugins can work
together to implement platform specific initialization. In this case, the
MachOPlatform installs a plugin that scans objects for __objc_classlist and
__objc_selref sections and
2020 Jan 17
6
ORC JIT Weekly #1
Hi All,
In the interests of improving visibility into ORC JIT development I'm going to try writing weekly status updates for the community. I hope they will provide insight into the design and state of development of LLVM's JIT APIs, as well as serving as a convenient space for discussions among LLVM's large and growing community of JIT API users. The
length and detail will vary
2020 Aug 07
2
JIT interaction with linkonce_odr global variables
Hello,
I recently hit an issue when JIT'ing my generated IR using
llvm::orc::LLJIT. My IR contains the following definition of a global
variable:
> $_ZZ23TestStaticVarInFunctionbE1x = comdat any
> @_ZZ23TestStaticVarInFunctionbE1x = linkonce_odr dso_local global i32 123,
> comdat, align 4
>
And in my host process, there exists the same symbol. I would expect LLJIT
to resolve the
2020 Oct 06
2
LLVM Developers Meeting JIT BoF -- Request for Topics of Interest
Hi All,
I've listed the current topics of interest below, along with some notes on
each. We only have 30 minutes so we'll barely scratch the surface of these
during the BoF itself. My main aims are for you to meet each other,
identify potential areas of collaboration, identify things that I can do to
unblock you, and get the ball rolling on some conversations that we can
continue on the
2020 Apr 20
2
ORC JIT Weekly #12
Hi All,
There was only one interesting ORC-specific commit this week: A new example
showing how to initialize and de-initialize JITDylibs has been added in
llvm/examples/OrcV2Examples/LLJITWithInitializers.
The Extensible RTTI system (https://reviews.llvm.org/D39111) that I posted
a while back has landed. While this is not ORC specific, I expect it to be
used in upcoming patches to allow ORC
2020 May 23
4
Assertion triggered when running simple hello-world code on iOS device using ORC/LLLazyJIT
Hello,
I am trying to run this basic C++ hello-world code in my iOS app that has
LLVM libraries linked in (the app runs on the actual device - iPad Pro, iOS
13.4.1).
#include <iostream>
int main (int argh, char *argv[]) {
std::cout << "Hello World!" << std::endl;
return 0;
}
So below is the break down of the steps that I do:
First I compile this code to an
2020 Jun 06
4
Assertion triggered when running simple hello-world code on iOS device using ORC/LLLazyJIT
Hi Lang,
Please see below is the trace.
--
Thanks,
Igor
*2020-06-06 12:05:21.016705-0400 CppDevProCompiler[6613:3000073] Running...*
*jitLink_MachO: magic = 0xfeedfacf, identifier =
"llvm-link.submodule-jitted-objectbuffer"*
*jitLink_MachO: cputype = 0x0100000c, cpusubtype = 0x00000000*
*Creating normalized sections...*
* __text: 0x0000000000000000 -- 0x0000000000000064, align:
2020 Jun 20
1
Assertion triggered when running simple hello-world code on iOS device using ORC/LLLazyJIT
Hi Dave,
Yep. This is JITLink specific, so we could only have observed it on MachO
x86-64 or arm64 until recently. It takes a little bit of poking to get IR
to produce a zero-lengh section on MachO, but not much.
Jared Wyles recently contributed an initial JITLink ELF implementation, so
the fix seems timely -- we might have been about to see more of it.
-- Lang.
On Fri, Jun 19, 2020 at 4:02 PM
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?
2020 Sep 16
4
OrcV1 removal
Hi All,
I've updated the orcv1 removal branch (
https://github.com/lhames/llvm-project/tree/orcv1-removal) with an initial
patch for removable code. If anyone wants to follow along with the
development or share thoughts on the design you're very welcome to.
I'll be adding tests and comments this week, but for anyone who wants to
take an early look the main elements are defined in
2020 Oct 01
2
ORC JIT - different behaviour of ExecutionSession.lookup?
Hey Lang,
Woah! That mail contains a lot of information and things I never tried yet… Actually… the entire MaterializationUnit and MaterializationResponsibility part is… quite… overwhelming >O<
With “pop up” I mean… the process which is waiting for Module “Planschi” to “pop up” can not do a thing about it. It just waits until there is an table entry for it, indicating that the object file
2020 Oct 02
2
LLVM Developers Meeting JIT BoF -- Request for Topics of Interest
Hi Andres,
That would be of interest to me too. One thing around this I have been
> wondering about is whether it's realistic to merge the optimization and
> code generation phases - right now we spend a lot of time re-doing
> analyses during codegen that we already had done during optimization.
Sounds good to me. I think there are two sub-topics here:
(1) JIT specifics. E.g. What
2020 Sep 28
2
LLVM Developers Meeting JIT BoF -- Request for Topics of Interest
Hi Geoff,
We use LLJIT. Do addObjectFile() and StaticLibraryDefinitionGenerator work
> for ELF objects?
They do. :)
I've not tested StaticLibraryDefinitionGenerator extensively on Linux. but
we have a regression test checking basic usage. If you run into any trouble
at all please file a bug and assign it to me.
-- Lang.
On Mon, Sep 28, 2020 at 2:05 PM Geoff Levner <glevner at
2020 Sep 28
2
LLVM Developers Meeting JIT BoF -- Request for Topics of Interest
Hi Geoff,
Importing symbols into the JIT from an object file or static library...?
Sure! Are you interested in doing this with the C API, LLJIT, or raw OrcV2
components?
The high-level answer here (which we can dig into further in the BoF) is:
For object files:
- For raw OrcV2 components you'll want to create an
RTDyldObjectLinkingLayer or ObjectLinkingLayer and use the 'add'
2020 Jan 28
2
ORC JIT Weekly #1
Hi Andres,
I also want to highlight the necessity of some form of C API, that others
> already have.
>
<snip>
> It's fine if the set of "somewhat stable" C APIs doesn't provide all the
> possible features, though.
Ok. This got me thinking about what a simple LLJIT API should look like. I
have posted a sketch of a possible API on http://llvm.org/PR31103 . I
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
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
2020 Sep 30
2
ORC JIT - different behaviour of ExecutionSession.lookup?
Hey Lang,
> Do you mean that the object file is produced by another process and is being loaded into your JIT process for execution, or that you want your JIT to produce code for several different processes? These are different problems with different solutions. I'll wait until I understand your use case to answer further.
In the current state we don’t have a JIT only an handcrafted object
2020 Jan 18
3
ORC JIT Weekly #1
Hi, Lang
As a starter using LLVM JIT to improve OLAP execution engine performance,
I'm very glad to hear that. I can't find some useful document help me get
start to use the new ORC JIT API quickly. Only can find some examples how
to use it, but don't know the internal from low level, and very blurred to
design a clearly JIT toolset. Hope more tutorials add in and help ORC JIT
more
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