Displaying 20 results from an estimated 5000 matches similar to: "[LLVMdev] Generate backtrace info for JITed code"
2016 Mar 08
2
Deleting function IR after codegen
Thanks for the pointer, it's always helpful to be able to see how another project solved similar problems.
> On Mar 8, 2016, at 11:24 AM, Andy Ayers <andya at microsoft.com> wrote:
>
> FWIW, LLILC (https://github.com/dotnet/llilc) uses MCJIT with a custom memory manager to hold onto the binary bits and discard the rest.
>
> As far as I know it doesn't leak, though
2010 Aug 12
0
[LLVMdev] Optimization pass questions
This may seem odd, but I want to really encourage the list to help Larry Gritz with this issue. I've been following the development of his project (OpenShadingLanguage) for months now and he has a *very* good use case for LLVM. It may be tempting to just "send him to the docs", but if anyone here can help take their use of LLVM to the next level, I can tell you that many, many people
2011 Nov 10
3
[LLVMdev] Optimization passes
Is there a succinct way I can get the full list of which optimization passes are applied, and in what order, for standard clang -O1, -O2, -O3?
--
Larry Gritz
lg at larrygritz.com
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
2010 Aug 18
0
[LLVMdev] Module management questions
On Tue, Aug 17, 2010 at 5:04 PM, Larry Gritz <lg at larrygritz.com> wrote:
> On Aug 17, 2010, at 10:11 AM, Owen Anderson wrote:
>
>> In principle this ought to work, if you're careful. Are you sure you're not generating code that calls into functions that got totally inlined away?
>
> How would I know?
>
>> Are you running the Verifier pass at regular
2010 Aug 12
0
[LLVMdev] Optimization pass questions
On Aug 11, 2010, at 4:55 PM, Larry Gritz wrote:
> I have a whole slew of questions about optimization passes. Answers to any or all would be extremely helpful:
>
> How important are doInitialization/doFinalization? I can't detect any difference if I use them or not. Why does the function pass manager have doInitialization/doFinalization, but the global pass manager doesn't?
2016 Mar 08
3
Deleting function IR after codegen
YES. My use of LLVM involves an app that JITs program after program and will quickly swamp memory if everything is retained. It is crucial to aggressively throw everything away but the functions we still need to execute.
I've been faking it with old JIT (llvm 3.4/3.5) by using a custom subclass of JITMemoryManager that squirrels away the jitted binary code so that when I free the Modules,
2010 Aug 18
2
[LLVMdev] Module management questions
On Aug 17, 2010, at 10:11 AM, Owen Anderson wrote:
> In principle this ought to work, if you're careful. Are you sure you're not generating code that calls into functions that got totally inlined away?
How would I know?
> Are you running the Verifier pass at regular intervals?
Yes, both before and after the set of optimization passes.
So let me clarify what I'm doing: I
2013 Dec 09
1
[LLVMdev] PTX generation examples?
Ah, that's helpful. I knew that I'd need to end up with PTX as text, not a true binary, but I would have figured that it would come out of MCJIT. Thanks for helping to steer me away from the wrong trail.
OK, one more question: Can anybody clarify the pros and cons of generating the PTX through the standard LLVM distro, versus using the "libnvvm" that comes with the Cuda SDK?
2010 Aug 20
2
[LLVMdev] Module management questions
On Aug 18, 2010, at 10:24 AM, Reid Kleckner wrote:
> You can free the machine code yourself by saying
> EE->freeMachineCodeForFunction(F) . If you destroy the EE, it will
> also free the machine code.
Thanks, but unfortunately, this is exactly the opposite of what I want to do. I need to retain the machine code indefinitely, but I want to free all possible other resources that are
2010 Aug 20
0
[LLVMdev] Module management questions
On Fri, Aug 20, 2010 at 12:39 PM, Larry Gritz <lg at larrygritz.com> wrote:
> On Aug 18, 2010, at 10:24 AM, Reid Kleckner wrote:
>
>> You can free the machine code yourself by saying
>> EE->freeMachineCodeForFunction(F) . If you destroy the EE, it will
>> also free the machine code.
>
> Thanks, but unfortunately, this is exactly the opposite of what I want
2010 Nov 14
0
[LLVMdev] Ahoy JIT Users
On Fri, 12 Nov 2010 17:42:57, Daniel Dunbar <daniel at zuster.org> wrote:
> If you are a "sophisticated" JIT user and are using either internal
> APIs (either by integrating with LLVM, or by other C++ tricks), or are
> using obscure or poorly documented public APIs (e.g., why is
> runJITOnFunction exposed?) please make me aware of it!
Hi, Daniel! We
2013 Dec 09
0
[LLVMdev] PTX generation examples?
There is no MCJIT support for PTX at the moment (mainly because PTX does
not have a binary format, and is not machine code per se).
To generate PTX at run-time, you just set up a standard codegen pass
manager like you would like an off-line compiler. The output will be a
string buffer that contains the PTX, which you can load into the CUDA
runtime.
As for determining if PTX support is compiled
2010 Aug 12
0
[LLVMdev] Optimization pass questions
Larry,
On Wed, Aug 11, 2010 at 4:55 PM, Larry Gritz <lg at larrygritz.com> wrote:
> I have a whole slew of questions about optimization passes. Answers to any
> or all would be extremely helpful:
>
> How important are doInitialization/doFinalization?
Most of the passes do not use them.
> I can't detect any difference if I use them or not.
Say, if you are writing
2013 Dec 10
0
[LLVMdev] [RFC] MCJIT usage models
On Dec 9, 2013, at 3:59 PM, Kevin Modzelewski <kmod at dropbox.com> wrote:
> About lazy compilation, I'm still of the opinion that that's better handled
> outside of MCJIT. For the people asking for it, would it be enough to have
> a wrapper around MCJIT that automatically splits modules and adds stubs to
> do lazy compilation?
I think that would be sufficient for me.
2010 Aug 11
4
[LLVMdev] Optimization pass questions
I have a whole slew of questions about optimization passes. Answers to any or all would be extremely helpful:
How important are doInitialization/doFinalization? I can't detect any difference if I use them or not. Why does the function pass manager have doInitialization/doFinalization, but the global pass manager doesn't? If I am applying the function passes to many functions, do I
2016 May 20
0
External function resolution: MCJIT vs ORC JIT
Hi Larry,
Thanks so much! This seems to do the trick. I would have spun my wheels for
> a long time before discovering all of this, wow.
No worries. :)
I'll try to keep this in mind and make sure I address it in future
Kaleidoscope tutorial chapters - these issues tripped me up the first time
I encountered them too.
Do I even want to know what additional chickens need to be sacrificed
2013 Dec 06
2
[LLVMdev] PTX generation examples?
OK, fine -- an example of MCJIT that sets up for PTX JIT would also be helpful.
On Dec 6, 2013, at 12:32 PM, Eli Bendersky <eliben at google.com> wrote:
>
> You'll have to switch to MCJIT for this purpose. Legacy JIT doesn't emit PTX.
>
> Eli
--
Larry Gritz
lg at larrygritz.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2014 Jan 26
2
[LLVMdev] MCJIT versus getLazyBitcodeModule?
Hi Gael, I tried converting to your approach but I had some issues making
sure that all symbols accessed by the jit modules have entries in the
dynamic symbol table.
To be specific, my current approach is to use MCJIT (using an objectcache)
to JIT the runtime module and then let MCJIT handle linking any references
from the jit'd modules; I just experimented with what I think you're doing,
2016 May 22
1
External function resolution: MCJIT vs ORC JIT
>> llvm::sys::DynamicLibrary::LoadLibraryPermanently(nullptr)
This is one is a bit tricky and hard to find.
I spent quiet some time digging into MC and ORC JIT execution engines trying to find what makes them work.
The problem is that this trick (LoadLibraryPermanently) happens inside of EngineBuilder, despite that the functionality belongs to a JIT engine itself, not to the builder.
I