similar to: [LLVMdev] Methodology for interfacing LLVM JITed code with C++

Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] Methodology for interfacing LLVM JITed code with C++"

2010 Oct 26
3
[LLVMdev] Throwing C++ exception through LLVM JITed code
I am using LLVM to compile script code and then executing using the JIT compiler via the runFunction() method. The script code is contained with a C++ program compiled with G++. I am having a problem when an intrinsic function (i.e. a function implemented in C++ which is called from the LLVM compiled script) throws a C++ exception. I want the exception to be caught by the C++ code that invoked the
2012 Jan 31
0
[LLVMdev] Generate backtrace info for JITed code
My app generates LLVM IR on the fly, JITs, and executes. It also has a backtrace printer installed as a signal handler, that prints a human-readable backtrace if the app crashes. Is there a succinct guide to exactly what I need to do to the LLVM IR I generate (or the calls I make to JIT) so that backtrace() and backtrace_symbols() (on Linux or OS X) can correctly print the call stack when a
2004 Aug 13
0
[LLVMdev] is this code really JITed and/or optimized ? ..
On Sat, 14 Aug 2004, Valery A.Khamenya wrote: > hm, here is the part of my code starting LLVM function: > > /////////////////////////// > ExistingModuleProvider* MP = new ExistingModuleProvider(M); > ExecutionEngine* EE = ExecutionEngine::create( MP, true ); As Reid pointed out, changing true to false will get it to work. > // Call the `foo' function with no
2004 Aug 14
1
[LLVMdev] is this code really JITed and/or optimized? ..
ick! Is there a bugzilla on this? Reid. On Sat, 2004-08-14 at 13:49, Chris Lattner wrote: > If you look at the 3 lines above the assert that is failing, you'll see > this: > > // FIXME: This code should handle a couple of common cases efficiently, but > // it should also implement the general case by code-gening a new anonymous > // nullary function to call.
2004 Aug 16
2
[LLVMdev] RE: is this code really JITed and/or optimized ? ..
I wrote: > If you look at the 3 lines above the assert that is failing, you'll see > this: > // FIXME: This code should handle a couple of common cases efficiently, but > // it should also implement the general case by code-gening a new anonymous > // nullary function to call. > Basically it's saying that we only support one argument functions that > take
2004 Aug 13
0
[LLVMdev] is this code really JITed and/or optimized ? ..
On Sat, 14 Aug 2004, Valery A.Khamenya wrote: > (thanks to Reid, who gave nice advice) the fibonacci function code > works now. Please find attached file. > > but... the performance is adequate, say, for byte-code > interpretation mode and not for optimized JITing. > fibonacci function of 35 from attached file is more > then 100 times slower then the following code compiled
2004 Aug 13
3
[LLVMdev] is this code really JITed and/or optimized ? ..
> If it's that slow, you're probably getting the interpreter instead of the > JIT. Try adding -print-machineinstr to the command line, or -debug, and > see what happens. If you're not getting the JIT, try stepping through the > LLVM program to see where it makes the execution engine and decides which > one to use... (thanks for quick reply) hm, here is the part of my
2010 Nov 09
1
[LLVMdev] Calling PassManager on previously JITed Modules
Hi Stephen, I confirm your observation. AFAIK the current JIT keeps informations from the module, for example AssertingHandle on Values. It's part of my plan to make the MCJIT independent from Module stuff to allow reoptimizations, or to have multiple copies of JITed functions for one function in the module, but there is a long road to go. Olivier. On Tue, Nov 9, 2010 at 6:57 PM, Stephen
2004 Aug 14
0
[LLVMdev] is this code really JITed and/or optimized? ..
On Sat, 14 Aug 2004, Valery A.Khamenya wrote: > > > ExecutionEngine* EE = ExecutionEngine::create( MP, true ); > > As Reid pointed out, changing true to false will get it to work. > > as I've posted already, I got Segmentation Fault. > Now, i have re-compiled LLVM with debug support. > > The evaluation is broken at line 78 in file: >
2004 Aug 13
3
[LLVMdev] is this code really JITed and/or optimized ? ..
Hi all, (thanks to Reid, who gave nice advice) the fibonacci function code works now. Please find attached file. but... the performance is adequate, say, for byte-code interpretation mode and not for optimized JITing. fibonacci function of 35 from attached file is more then 100 times slower then the following code compiled with "gcc -O2" : ----------- #include <iostream> int
2010 Nov 09
0
[LLVMdev] Calling PassManager on previously JITed Modules
Hi, I found the following wiki page in the Unladen Swallow project: http://code.google.com/p/unladen-swallow/wiki/CodeLifecycle This would appear to answer my question. Could someone confirm for me if it's definitely unsafe to attempt to optimise/JIT any Modules while a different thread is currently executing a JITed function which has been generated from them? Or am I just missing
2004 Aug 14
2
[LLVMdev] is this code really JITed and/or optimized? ..
> > ExecutionEngine* EE = ExecutionEngine::create( MP, true ); > > As Reid pointed out, changing true to false will get it to work. as I've posted already, I got Segmentation Fault. Now, i have re-compiled LLVM with debug support. The evaluation is broken at line 78 in file: lib/ExecutionEngine/JIT/JIT.cpp The assertion assert(ArgValues.size() == 1); fails. But
2010 Nov 08
3
[LLVMdev] Calling PassManager on previously JITed Modules
Hi, Has anyone had any success with running different PassManagers on llvm::Modules they've already JITed and are executing? In detail: 1) getting the IR, in form of an llvm::Module 2) calling PassManager->run() on the module 3) calling getFunction() and getPointerToFunction() to JIT the module 4) executing the JITed code using the function pointer received in step 3 and then what I
2012 Dec 27
1
[LLVMdev] Throwing an exception from JITed code, and catching in C++
Hi everyone, I am writing an application that uses LLVM JIT and I would like to throw an exception from the JIT and catch it in the C++ code that invokes the JIT. This does not seem to work. I've written what is hopefully a super simple demonstration to reproduce this. I would appreciate any help with this. Thank you The demonstration is composed of: 1) thrower.cpp - a source file that
2015 Aug 13
2
Linking existing functions from JITed code
Hi Andy, I haven't tested this on Linux, but on MacOS the RuntimeDyldMemorManager::getSymbolAddressInProcess method should find symbol addresses in the host program, including symbols from static archives linked into the program. However, one gotcha is that the symbol has to be reachable from main, otherwise the linker may strip it from the final executable. Do you have a test-case that I
2015 Aug 13
4
Linking existing functions from JITed code
Hi I’ve previously used the ExecutionEngine::addGlobalMapping to make existing functions available to my JITed code. I’m currently using ORC, as MCJIT does not appear to be maintained any longer (the kaleidoscope examples have not worked for some time with MCJIT). I’m using just the basic ORC CompileLayer directly. So, I’ve essentially copied the ExecutionEngine::addGlobalMapping related
2015 Aug 20
2
Linking existing functions from JITed code
Hi Andy, I think that makes sense. I'm currently rewriting the core Kaleidoscope tutorials - I'll look at adding support for this. - Lang. On Fri, Aug 14, 2015 at 7:38 AM, Andy Somogyi <andy.somogyi at gmail.com> wrote: > After some fiddling with it, it does in fact look like it works as you > describe Lang. > > The trick was you had to call > >
2015 Aug 20
2
Linking existing functions from JITed code
Lang, I added the add/get global mapping to my kaleidoscope JIT, but I think perhaps these would make more sense if they were added to the object linking layer as they would be generally usable there. On Aug 19, 2015, at 11:19 PM, Andy Somogyi wrote: > Hey Lang, > > I've added this to my Kaleidoscope JIT, and it seems to work just fine, basically I copied the global mapping
2016 Feb 19
0
Wine release 1.9.4
The Wine development release 1.9.4 is now available. What's new in this release (see below for details): - Support for color glyphs and font fallbacks in DirectWrite. - Improvements to the WebServices reader. - Support for more formats in Direct3D 11. - Simplified syntax and clean up of tests marked todo. - Various bug fixes. The source is available from the following locations:
2010 Aug 04
1
[LLVMdev] JITing code with indirect branch in LLVM 2.7
I am trying to JIT some code containing an indirect branch (and the corresponding store i8* blockaddress(@label)). I am using LLVM 2.7 code base. I build the ExecutionEngine using EngineBuilder, and call engine->getPointerToFunction(func). When I use setOptLevel(llvm::CodeGenOpt::None), the JITing fails with the following message : JIT.h:131: virtual void*