Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] JITted code in multiple threads"
2009 Mar 27
4
[LLVMdev] Connecting JITted code to gdb
Hi all. I'm working on the recently-announced unladen-swallow project,
and I'm having a bit of trouble getting gdb to step into functions
I've compiled with LLVM's JIT compiler. The attached a_module.ll is
the module I produce from compiling
def foo(r):
for i in r:
pass
I'm JIT-compiling and running foo() with:
typedef PyObject *(*NativeFunction)(PyFrameObject *);
2009 Mar 27
0
[LLVMdev] Connecting JITted code to gdb
Run with -debug-only=jit.
Break on line 1148 of JITEmitter.cpp. The debugging message will tell
you the address and size of the function that was jitted. You can then
tell gdb to disassemble the code.
On Mar 26, 2009, at 11:35 PM, Jeffrey Yasskin wrote:
> Hi all. I'm working on the recently-announced unladen-swallow project,
> and I'm having a bit of trouble getting gdb to
2009 Nov 01
1
[LLVMdev] Should LLVM JIT default to lazy or non-lazy?
On 2009-11-01 08:40, Jeffrey Yasskin wrote:
> 2009/10/30 Török Edwin <edwintorok at gmail.com>:
>
>> On 2009-10-29 23:55, Jeffrey Yasskin wrote:
>>
>>> On Thu, Oct 29, 2009 at 2:30 PM, Nicolas Geoffray
>>> <nicolas.geoffray at lip6.fr> wrote:
>>>
>>>
>>>> Hi Jeffrey,
>>>>
>>>>
2009 Nov 01
0
[LLVMdev] Should LLVM JIT default to lazy or non-lazy?
2009/10/30 Török Edwin <edwintorok at gmail.com>:
> On 2009-10-29 23:55, Jeffrey Yasskin wrote:
>> On Thu, Oct 29, 2009 at 2:30 PM, Nicolas Geoffray
>> <nicolas.geoffray at lip6.fr> wrote:
>>
>>> Hi Jeffrey,
>>>
>>> Jeffrey Yasskin wrote:
>>>
>>>> Cool, I'll start implementing it.
>>>>
>>>>
2009 Oct 30
2
[LLVMdev] Should LLVM JIT default to lazy or non-lazy?
On 2009-10-29 23:55, Jeffrey Yasskin wrote:
> On Thu, Oct 29, 2009 at 2:30 PM, Nicolas Geoffray
> <nicolas.geoffray at lip6.fr> wrote:
>
>> Hi Jeffrey,
>>
>> Jeffrey Yasskin wrote:
>>
>>> Cool, I'll start implementing it.
>>>
>>>
>> Great! Thanks.
>>
>> Just to clarify things: on my end, it
2008 Dec 17
1
[LLVMdev] Getting the start and end address of JITted code
Here's my problem, which I raised on IRC:
JIT::getPointerToFunction gets the address of the start of a function.
But how do I find out where the end of the function is? I need this
to register the function for profiling.
varth said: aph, you need to intercept the "endFunctionBody" call on
the memory manager, it will tell you the start pointer and the end
pointer
But how can I do
2008 Dec 17
0
[LLVMdev] Getting the start and end address of JITted code
Hi Andrew,
Andrew Haley wrote:
> Here's my problem, which I raised on IRC:
>
> JIT::getPointerToFunction gets the address of the start of a function.
> But how do I find out where the end of the function is? I need this
> to register the function for profiling.
>
> varth said: aph, you need to intercept the "endFunctionBody" call on
> the memory manager, it
2009 Oct 29
0
[LLVMdev] Should LLVM JIT default to lazy or non-lazy?
On Thu, Oct 29, 2009 at 2:30 PM, Nicolas Geoffray
<nicolas.geoffray at lip6.fr> wrote:
> Hi Jeffrey,
>
> Jeffrey Yasskin wrote:
>>
>> Cool, I'll start implementing it.
>>
>
> Great! Thanks.
>
> Just to clarify things: on my end, it doesn't really matter what is the
> default behavior, as long as vmkit can continue to have the existing
>
2008 Feb 21
3
[LLVMdev] LLVM Win32 Issue
Hello all,
I'm trying to bring an LLVM-based project that is working on Linux up
on Win32. I am having problems with llvm::ExecutionEngine::create
returning a NULL. I traced it to these lines:
// Unless the interpreter was explicitly selected, try making a JIT.
if (!ForceInterpreter && JITCtor)
EE = JITCtor(MP, ErrorStr);
// If we can't make a JIT, make an
2009 Oct 29
3
[LLVMdev] Should LLVM JIT default to lazy or non-lazy?
Hi Jeffrey,
Jeffrey Yasskin wrote:
> Cool, I'll start implementing it.
>
Great! Thanks.
Just to clarify things: on my end, it doesn't really matter what is the
default behavior, as long as vmkit can continue to have the existing
behavior of lazy compilation. With Chris' solution, I was wondering how
you would implement the getPointerToFunction{Eager, Lazy} functions when
2008 May 27
1
[LLVMdev] JIT question: Inner workings of getPointerToFunction()
Hi,
I was just reading through the Kaleidoscope tutorial (which is greatly
written and understandable, thanks! ) hoping to get some glimpse about the
workings of the JIT and the optimizations that are done at run time. I am
curious as to how LLVM's JIT dynamically generates native code from bit code
at run time and runs that code (I think my question is also somewhat more
general in the sense
2011 Jul 27
1
[LLVMdev] two questions about JIT compilation
hi all,
I've written a small language implementation that JIT-compiles code prior to
execution. At the moment, i execute the function through
ExecutionEngine::runFunction. However, this requires me to keep all of the
code generation artifacts (instructions, constants, etc) around during
execution. Given that execution compiles the program down to machine code,
is there a reasonably
2009 Nov 19
2
[LLVMdev] fastcc and ExecutionEngine::getPointerToFunction()
Er... Sending this to the list instead of the parent...
On Thu, Nov 19, 2009 at 4:49 AM, Hans Wennborg <hans at hanshq.net> wrote:
> Yesterday I realised that if a Function has the calling convention set
> to "fast", then it is a bad idea to call it through the function pointer
> one gets from ExecutionEngine::getPointerToFunction().
>
> The problem is that when
2012 Aug 06
2
[LLVMdev] Question about llvm JIT
I have a function in llvm ir as follows:
def [2 x [3 x double]] @fun()
{
return [ ... ]; // a [2 x [3 x double]] constant
}
I would like to JIT this function in C.
I first get the void pointer using:
void *FPtr = TheExecutionEngine->getPointerToFunction( func );
Then I need to conver this void pointer to the corresponding C function
pointer
type, and then call the function
2008 Feb 21
0
[LLVMdev] LLVM Win32 Issue
"Aaron Dwyer" <llvmification at gmail.com> writes:
[snip]
> JITCtor and InterpCtor are both NULL, so it's obvious why I'm getting
> back a NULL execution engine. I am pretty sure it's because I'm
> missing a few llvm .lib or .obj files. What is the set of llvm object
> files needed at link time for Win32 on X86 JIT?
This is what I use on MinGW. It
2011 Nov 25
2
[LLVMdev] JIT: Inlining introduces intrinsics.
On 11/24/2011 05:52 PM, Óscar Fuentes wrote:
> Óscar Fuentes<ofv at wanadoo.es> writes:
>
>>>> If I activate the Inliner pass:
>>>>
>>>> Builder.Inliner = createFunctionInliningPass(Threshold);
>>>>
>>>> this is the result:
>>>>
>>>> LLVM ERROR: Program used external function
2016 Dec 20
4
thread safety ExecutionEngine::getFunctionAddress
Hi,
I'm trying to speed up the JIT time with llvm (3.9.1).
So far i've implemented the object cache, used FastISel and disabled
optimizations.
Jit time is still too slow for my purpose (I do have a lot of code to Jit).
http://llvm.org/docs/ProgrammersManual.html#threads-and-the-jit states that
we can invoke ExecutionEngine::getPointerToFunction() concurrently. This
function was replaced
2011 Feb 11
0
[LLVMdev] Unit testing with random input using JIT
If you know the prototype of f, you can just use getPointerToFunction
and cast the result:
// Let F be an llvm::Function* referring to 'f'.
void (*f)(int*) = (void (*)(int*))JIT->getPointerToFunction(F);
int a;
f(&a);
// read a
I haven't compiled this, it's a guess at the usage from memory.
Reid
On Fri, Feb 11, 2011 at 12:55 PM, Vu Le <vmle at ucdavis.edu> wrote:
2010 Mar 18
0
[LLVMdev] JIT : Does it cache the compiled code of executed functions upon runFunction(..)?
Hi Gabi,
I have no idea why your performances is not as expected with such low level
of informations.
But, I know that the binary code is cached by the JIT. You can find the code
in JIT.cpp to convince yourself :
runFunction -> getPointerToFunction ->getPointerToGlobalIfAvailable which
returns the native address of the jitted function.
You can even try to measure time needed by each
2006 Nov 29
2
[LLVMdev] I want to do something moderately insane, please help!
Hi,
As some of you may remember, I'm implementing an LLVM-based model
checker. I'm doing something a little odd, in that mostly I'm using the
interpreter (currently a hacked version of lli with threads) for most
things because I need to hook into lots of stuff that would be difficult
to manage otherwise, but I'm also using the jitter for some things that
need to be fast