search for: lljitbuild

Displaying 10 results from an estimated 10 matches for "lljitbuild".

Did you mean: lljitbuilder
2020 Apr 18
2
PerfJITEventListener needs perf-<pid>.map?
I'm trying to use PerfJITEventListener with llvm::orc::LLJITBuilder: 1. perf record -o /tmp/perf.data -- <my_binary_with_event_listener> 2. perf inject -j -v -i /tmp/perf.data -o /tmp/perf.data.jit *jit marker found: ~.debug/jit/llvm-IR-jit-20200417-3c2242/jit-149849.dump* *injecting: ~/.debug/jit/llvm-IR-jit-20200417-3c2242/jit-149849.dump* *write ELF im...
2019 Dec 19
2
Moving to ORCv2 - Compiling debuggable code?
Dear Geoff, As for as ORCv2 is concerned, there is no event listener facility available as of now. Thanks On Fri, 20 Dec 2019 at 01:21, David Blaikie via llvm-dev < llvm-dev at lists.llvm.org> wrote: > +Lang Hames <lhames at gmail.com> the author/owner of the ORC JIT - though > he's out of teh office at the moment I think, so might not get a reply > until the new year
2020 Apr 20
2
ORC JIT Weekly #12
...xpected<SymbolMap> emit(); // Remove all symbols covered by this tracker and // release resources. Error remove(); // Transfer tracking of all symbols / resources to the // containing JITDylib's tracker. void detach(); }; I'm hoping that usage will look like: LLJIT J = LLJITBuilder().create(); // No tracker specified. Resources tracked by the containing // JITDylib's tracker, and freed when the JITDylib is // deinitialized. ExitOnErr(J.addIRModule(sdt::move(UntrackedModule))); // Explicitly specify tracker. Module symbols can be // - materialized by calling T->emi...
2020 Sep 04
2
Performance of JIT execution
Hello, I recently noticed a performance issue of JIT execution vs native code of the following simple logic which computes the Fibonacci sequence: uint64_t fib(int n) { if (n <= 2) { return 1; } else { return fib(n-1) + fib(n-2); } } When compiled natively using clang++ with -O3, it took 0.17s to compute fib(40). However, when executing using LLJIT, fed with the IR output of "clang++
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 23
2
ORC JIT - Can modules independently managed with one LLJIT instance? + problems with ExecutionSession.lookup
...every Module is independent and is not allowed to be linked with the other modules, every module can be removed at any time. My first idea was to have an ORC JIT for every module I load, but then I wondered if I could use a single ORC JIT for it. So, I would create an ORC JIT: - using llvm::orc::LLJITBuilder - configurating it - adding a custom memory manager that requests the entire memory size Then I would call "getMainJITDylib" and fill it with symbols that are valid for every module: - adding printf, strlen, usw. Now when I get a request to load a module: - load module - get symbols I...
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 Sep 24
2
ORC JIT - Can modules independently managed with one LLJIT instance? + problems with ExecutionSession.lookup
...every Module is independent and is not allowed to be linked with the other modules, every module can be removed at any time. My first idea was to have an ORC JIT for every module I load, but then I wondered if I could use a single ORC JIT for it. So, I would create an ORC JIT: - using llvm::orc::LLJITBuilder - configurating it - adding a custom memory manager that requests the entire memory size Then I would call "getMainJITDylib" and fill it with symbols that are valid for every module: - adding printf, strlen, usw. Now when I get a request to load a module: - load module - get symbols I...
2020 Oct 01
2
ORC JIT - different behaviour of ExecutionSession.lookup?
...I’m caring about for execution. 2. I create a DyLib with a unique name and stuff the IR module in it 3. I call lookup from LLJIT and pass the DyLib mentioned in 2. with my symbols, get the addresses and can execute them This would be the case where everything went well. Okay…. So I use the “LLJITBuilder” to get my LLJIT instance, this would be before step 1.) In step 2.) when I created the new DyLib, I would call addGenerator and pass a class to it that inherits from “DefinitionGenerator” right? Let’s call it “MyDefinitionGenerator" then. “MyDefinitionGenerator" needs to provide an im...
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