Displaying 20 results from an estimated 2000 matches similar to: "C++ JIT Compiler with LLVM on Windows 10 - part 5"
2020 Apr 27
2
C++ JIT Compiler with LLVM on Windows 10 - part 5
I was just reading the blog post -- very cool!
Regarding Globals construction & destruction: There definitely has been a
lot of churn in that area. There will probably be more before LLVM 11 is
released, but I can see light at the end of the tunnel. I think the Right
Way to run initializers in a JITDylib is to treat it as equivalent to a
dlopen operation (with extra allowances for the fact
2020 May 05
2
C++ JIT Compiler with LLVM on Windows 10 - part 5
Hi Emmanuel,
Thank you very much for these! I will check them out today and see what's
going on.
Regards,
Lang.
On Mon, Apr 27, 2020 at 8:35 PM Emmanuel Roche <roche.emmanuel at gmail.com>
wrote:
> Hi Lang,
>
> Thank you for your feedback on the blog post, please find below some
> additional inputs from my side on the comments you provided:
>
> > Regarding
2020 May 06
2
C++ JIT Compiler with LLVM on Windows 10 - part 5
Hello Lang,
Good work! That was very quick ;-)
> I will file a bug tomorrow to add COMDAT support to ORC. I won't have
time to work on this feature any time soon, but I will try to provide a
sketch of the solution in the bug report in case you or anyone else is
interested in taking up the challenge. :)
=> I suspect this could be an issue that could get in my way more
significantly
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 Apr 16
4
ORC Assertion failure
Hi
On Windows 10 when using a debug build of LLVM 10, I get this assertion failure:
Assertion failed: (KV.second.getFlags() & ~WeakFlags) == (I->second &
~WeakFlags) && "Resolving symbol with incorrect flags", file
C:\work\github\llvm-10.0.0.src\lib\ExecutionEngine\Orc\Core.cpp, line
450
The same failure occurred in LLVM 9 too:
Assertion failed: I->second ==
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
2019 Aug 19
3
[ORC] Removing / replacing JITDylibs
Hi,
I'm working on a runtime autotuner that utilizes ORCv2 JIT (I'm closely tracking
tip-of-tree), so linking new object files and patching in the new function(s)
will happen frequently.
One of the concerns my runtime system has is the ability to do one of the
following: (1) replacement of the contents of a JITDylib with a new object file
[to provide semi-space GC-style reclaiming], (2)
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 16
2
OrcV1 removal
Hi Andres,
Cool!I assume this works on "non-native" jitlink platforms as well? Or
> just mach?
This framework is totally materializer agnostic -- It works for
ObjectLinkingLayer (JITLink), RTDyldObjectLinkingLayer (RuntimeDyld), and
even materializers that aren't emitted via a linker (e.g. stubs and
callbacks).
Looks like there's not yet a C API yet - not a problem, just
2020 Sep 07
2
OrcV1 removal
Hi Andres,
Postgres uses removable code support and Orcv1. I does make me quite
> worried to see a phase where there'll be no viable way of using both in
> llvm. Why isn't the right answer here to at lest develop the
> replacement as a set of patches / as a branch that then can be merged as
> a whole / shortly after each other, rather than just starting to develop
> a
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
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 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 May 04
2
ORC JIT Weekly #14 -- Removable code
Hi All,
A preliminary version of removable code support has been posted for review
in https://reviews.llvm.org/D79312. This patch removes all uses of
VModuleKeys (except for Legacy layers) and takes a whole-JITDylib-at-a-time
approach to removal. Removing whole JITDylibs requires more work from
clients (compared to per-module removal): Modules to be removed must be
placed into throw-away
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
2012 Feb 02
1
amd detect answering machine
Hi,
I have IVR and when I press 1, asterisk calls my mobile phone.
If my mobile phone is offline, asterisk transfers to asterisk voicemail.
I'd like asterisk detects my mobile voicemail and if my mobile voicemail answers, asterisk transfers to asterisk voicemail.
For that, I used AMD.
So I have problems ! Asterisk detects answering machine everytime!
How do I do please ?
extensions.conf
2019 Sep 12
2
Questions after completed Kaleidoscope Chapter 1
Hello there,
I finished Chapter 1 of the Kaleidoscope tutorial for using the Orc JIT API. I played around with some things and ended with some questions.
1. What is the use of "MangleAndInterner"?
I read it is used to mangle the name for the lookup search, but I seem to be not able to use it correctly. In my first attempt I used the mangled name of my function
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:
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