search for: jite

Displaying 20 results from an estimated 434 matches for "jite".

Did you mean: site
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 want to do i...
2010 Nov 09
0
[LLVMdev] Calling PassManager on previously JITed Modules
...lowing 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 something here? I've tried using llvm::CloneModule() to copy the Module and then work on that instead to JIT a new function, but it seems that doesn't always work, or even the cloning process itself causes an assertion to b...
2010 Aug 16
3
[LLVMdev] Module management questions
I have an app that's dynamically generating and JITing code, and will have many such cases in the course of its run. They need to be JITed separately, because I need to execute the first batch before I know what the second one will be. Of course, I *still* need to execute the first after the need for the second arises, so I need to retain the JITed machine code for all the functions I dynamically compile. I think I just discovered...
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 Kyle <stephenckyle at googlemail.com>wrote: > Hi, > > I found the following wiki page in the Unladen Swallow project: > > http://code.google.com/p/unl...
2010 Oct 26
3
[LLVMdev] Throwing C++ exception through LLVM JITed code
...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 script. Instead it appears that no exception handler is found. Does anyone know of a way to throw C++ exceptions through LLVM JITed code? To illustrate the problem a bit better, consider this psuedo code. I want the exception thrown in intrinsic_function(), which is called from the LLVM compiled code, to be caught by the exception handler at the bottom of run_program(). void intrinsic_function() { throw runtime_error(&quo...
2010 Aug 04
1
[LLVMdev] JITing code with indirect branch in LLVM 2.7
...llvm::JIT::getPointerToBasicBlock(llvm::BasicBlock*): Assertion `0 && "JIT does not support address-of-label yet!"' failed. However, when I use setOptLevel(llvm::CodeGenOpt::Less) or higher (Default, Aggressive), the assertion does not happen. However, when I disassemble the JITed program, I see that the label getting stored is wrong, it is not in the range of the function's code space. I am wondering whether I am doing something wrong. Does the JIT mode not support indirect branches? Manjunath
2012 Nov 26
0
[LLVMdev] linking individual functions in execution module
What I was thinking is that if you need to link to module A to functions in module B (which you know might be re-JITed) you can have a stub function that gets used as the address called by module A and then you can use some brute force approach to maintain the actual address of the function in module B as it is re-JITed (maybe the stub could be a lightweight class with a member variable that's kept up-to-date...
2012 Nov 22
2
[LLVMdev] linking individual functions in execution module
2012/11/21 Kaylor, Andrew <andrew.kaylor at intel.com>: > If you re-JIT a module that you have previously linked to that will obviously cause some problems, but you can probably work around that with a stub function. could you elaborate a little bit on that ? i was thinking in something different; linking a cloned copy of the module rather than the module directly. Would that work
2008 Aug 31
1
[LLVMdev] Correct way of JITing multiple modules?
Hi, I'm trying to work out the correct way of JITing multiple modules. My original approach was to create a new ExecutionEngine for each Module, however this generates an assert failure. If I create a new ModuleProvider for each new Module and then add this to a single ExecutionEngine then I have a problem with static constructors not being run. With a single module, I can call
2009 Mar 20
2
[LLVMdev] Possible memory leakage in the LLVM JIT Engine
Hi, In my application I am JITing thousands of functions, though I am doing it sequantially and running only one at a time. So it is crucial to be able to properly clean up the memory from an old JITed function when JITing and running the new one. I am using Haskell binding of LLVM and my application works OK. However, memory usage increases and never decreases during the run time of my application. Here is what I do: 1) I am creating a module 2) I am generating an LLVM function and putting it...
2010 Aug 17
0
[LLVMdev] Module management questions
On Aug 16, 2010, at 3:47 PM, Larry Gritz wrote: > I have an app that's dynamically generating and JITing code, and will have many such cases in the course of its run. They need to be JITed separately, because I need to execute the first batch before I know what the second one will be. Of course, I *still* need to execute the first after the need for the second arises, so I need to retain the JITed machine code for all the functions I dynamically compile. > > I think I just d...
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
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
2018 Jan 19
0
[JIT] Evaluating Debug-Metadata in bitcode
Hi Björn, I'm not sure I understand what you are actually trying to achieve. Do you want to be able to debug from your main code, and step into the JITed code? Do you want to be able to set breakpoints, list callstacks, etc in the JITed code? Do you want to, from a crash, identify where in your JITed code it went wrong? The first two are definitely one or more order(s) of magnitude harder to solve than the third one, since you basically have to te...
2010 Aug 18
2
[LLVMdev] Module management questions
...with that bitcode, then add the user code (translated by our app from a custom programming language into LLVM IR) and then optimize. But I need to do this several times, for several user programs, which can come along irregularly during the execution of our app, and I never want to throw away the JITed machine code, though once I JIT I should not need the IR I generated for the user program. Also, an update: I've found that I'm totally safe if I create (and seed) a new Module and ExecutionEngine every time I need to JIT user code. But that's very slow and also a pig on memory use s...
2012 Jan 31
0
[LLVMdev] Generate backtrace info for JITed code
...nts 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 crash occurs while executing the JITed code? -- Larry Gritz lg at larrygritz.com
2018 Jan 19
3
[JIT] Evaluating Debug-Metadata in bitcode
Hello LLVM-People, I'm still a beginner with the LLVM, but I really like the concept and the possibilities with the JIT. Currently I compile simple functions with clang-cl into bitcode files. After this I use another program to JIT this bitcode files and execute functions of it - like lli. Thanks to a lot of mails and so on, I understood that a bitcode file is in fact still IR-Code, but
2009 Mar 22
0
[LLVMdev] Possible memory leakage in the LLVM JIT Engine
...many days) Thanks On Mar 20, 2009, at 7:34 AM, George Giorgidze wrote: > Hi, > > In my application I am JITing thousands of functions, though I am > doing it sequantially and running only one at a time. So it is > crucial to be able to properly clean up the memory from an old JITed > function when JITing and running the new one. > > I am using Haskell binding of LLVM and my application works OK. > However, memory usage increases and never decreases during the run > time of my application. Here is what I do: > > 1) I am creating a module > 2) I a...
2005 Apr 21
2
[LLVMdev] Control Flow and Locks when JITing Functions
I just located a concurrency error in my LLVM patch to add locks to the JIT. I did not add any locks to the JITResolver class in JITEmitter.cpp, which clearly is a problem since This particular issue causes an assertion failure on occasion when running a task that spawns threads on a parallel machine. Any recommendations about if I am doing something that seems horribly wrong are welcome. I'll update my patch that has been si...
2005 Apr 21
0
[LLVMdev] Control Flow and Locks when JITing Functions
On Thu, 21 Apr 2005, Evan Jones wrote: > I just located a concurrency error in my LLVM patch to add locks to the > JIT. I did not add any locks to the JITResolver class in JITEmitter.cpp, > which clearly is a problem since This particular issue causes an > assertion failure on occasion when running a task that spawns threads on > a parallel machine. Any recommendations about if I am doing something > that seems horribly wrong are welcome. I'll update my pa...