similar to: [LLVMdev] Optimization pass questions

Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] Optimization pass questions"

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?
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
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
2010 Aug 12
1
[LLVMdev] Optimization pass questions
On Aug 11, 2010, at 5:57 PM, Tanya Lattner wrote: > Have you read this document? > http://llvm.org/docs/WritingAnLLVMPass.html#passtype Yes, but I didn't find it as instructive as I'd hoped. The only two examples of pass sets I can find are the Kaleidoscope tutorial and StandardPasses.h (corresponding, I assume, to what llvm-gcc does). Just looking at the two of these, some
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
2012 May 11
0
[LLVMdev] LLVM library versionitis
On 11.05.2012, at 21:17, Larry Gritz wrote: > I have a DSL that creates LLVM IR on the fly and JITs to x86 at runtime. (https://github.com/imageworks/OpenShadingLanguage) > > Primarily, we have a main app that uses the library that implements our DSL. But we have other usage cases in which we have written dynamically-loaded plugins to 3rd party apps that we don't control, and our
2012 May 11
2
[LLVMdev] LLVM library versionitis
I have a DSL that creates LLVM IR on the fly and JITs to x86 at runtime. (https://github.com/imageworks/OpenShadingLanguage) Primarily, we have a main app that uses the library that implements our DSL. But we have other usage cases in which we have written dynamically-loaded plugins to 3rd party apps that we don't control, and our plugins use our language, which necessitates linking to
2013 Dec 09
3
[LLVMdev] [RFC] MCJIT usage models
Another usage case, slightly different than your #1: 6. Dynamic code generation (not interactive with respect to the source code) - app generates code IR which is compiled as needed for execution (important difference: no waiting for a typing human in the loop, so very different expectations about responsiveness and bottlenecks) - compilation speed IS critical (because many such
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?
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
2012 Nov 16
0
[LLVMdev] Two questions about pass managers and passes
Hello All, I have two questions, one more of an implementation question, the other more a design question. First: I noticed that if one moves the FPPassManager::doInitialization(Module) call from FPPassManager::runOnModule to MPPassManager::runOnModule (which is the new location I am aiming for to avoid the need for a doInitialization/doFinalization outside of the run methods, as preferred by
2012 Nov 16
0
[LLVMdev] Two questions regarding pass managers and passes
Hello All, I have two questions, one more of an implementation question, the other more a design question. First: I noticed that if one moves the FPPassManager::doInitialization(Module) call from FPPassManager::runOnModule to MPPassManager::runOnModule (which is the new location I am aiming for to avoid the need for a doInitialization/doFinalization outside of the run methods, as preferred by
2013 Feb 15
0
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
Hello Yiannis, I am not an expert on metadata or the CG information but one of the two has to happen: - Simply moving the deleter pass to a different spot - Changing the doFinalization of another pass (Printer?) to do the deleter pass job (this should work now because the doFinalization order is the reverse of the doInitialization order) Option 1 is a smaller change, option 2 will make the code
2013 Feb 14
0
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
Hello Yiannis, I believe what is going on is that there is an issue with the way that information is deleted (the CG information). Right now there is a pass whose only job is to delete that information (CGInfoDeleter) and that pass deletes the info before the AsmPrinter has a chance to call the finishAssembly function. Right now the order that the doFinalization is called on passes is the reverse
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 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
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
2013 Feb 15
2
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
Hi Pedro (et al.), On 02/14/2013 11:43 PM, Pedro Artigas wrote: > I believe what is going on is that there is an issue with the way that information is deleted (the CG information). Yeap, that's exactly the problem! :-) I noticed that the GCModuleInfo::iterator (line 931 in lib/CodeGen/AsmPrinter/AsmPrinter.cpp) is empty and, thus, GCMetadataPrinter::finishAssembly is never called.
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