Dmitry Babokin
2013-Feb-25 18:11 UTC
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
Yiannis, Pedro, I'm not an expert here. Taking closer look I see that it makes sense to do this cleanup job in doFinalization() of the pass, which requested GC info. So the current fix seems to be ok and all external clients will need to do cleanup directly doing the same jobs as Printer::doFinalization() does now. By the way, I've just noticed that comments for GCModuleInfo::clear() also needs to be updated, as it mentions deleter pass. -Dmitry. On Mon, Feb 25, 2013 at 9:55 PM, Yiannis Tsiouris <gtsiour at softlab.ntua.gr>wrote:> Hi Dmitry, > > > On 02/23/13 19:10, Dmitry Babokin wrote: > >> What's about the usage case, when LLVM is used as a library and the user >> implements its custom pass, which dump the code (implemented as a >> FunctionPass, but not as Printer)? >> > Hm, I haven't thought of that... I'll take a better look and try to find a > more suitable solution. Any suggestion is more than welcome! :-) > > > You also missed in your changes the declaration of >> llvm::createGCInfoDeleter() in include/llvm/CodeGen/Passes.h >> > Oops, sorry! I suppose I missed that! Pedro, will you take care of that > (by just removing it) or should I sent a trivial fix in llvm-commits (where > I don't have direct commit access)? > > yiannis > > > -- > Yiannis Tsiouris > Ph.D. student, > Software Engineering Laboratory, > National Technical University of Athens > WWW: http://www.softlab.ntua.gr/~**gtsiour<http://www.softlab.ntua.gr/~gtsiour> > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130225/6b16ea0c/attachment.html>
Yiannis Tsiouris
2013-Feb-27 15:21 UTC
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
Hi , Can someone commit the attatched (cleanup) patch for r175528? Thanks, yiannis On 02/25/2013 08:11 PM, Dmitry Babokin wrote:> Yiannis, Pedro, > > I'm not an expert here. Taking closer look I see that it makes sense > to do this cleanup job in doFinalization() of the pass, which > requested GC info. So the current fix seems to be ok and all external > clients will need to do cleanup directly doing the same jobs as > Printer::doFinalization() does now. > > By the way, I've just noticed that comments for GCModuleInfo::clear() > also needs to be updated, as it mentions deleter pass. > > On Mon, Feb 25, 2013 at 9:55 PM, Yiannis Tsiouris > <gtsiour at softlab.ntua.gr <mailto:gtsiour at softlab.ntua.gr>> wrote: > > Hi Dmitry, > > > On 02/23/13 19:10, Dmitry Babokin wrote: > > What's about the usage case, when LLVM is used as a library > and the user implements its custom pass, which dump the code > (implemented as a FunctionPass, but not as Printer)? > > Hm, I haven't thought of that... I'll take a better look and try > to find a more suitable solution. Any suggestion is more than > welcome! :-) > > > You also missed in your changes the declaration of > llvm::createGCInfoDeleter() in include/llvm/CodeGen/Passes.h > > Oops, sorry! I suppose I missed that! Pedro, will you take care of > that (by just removing it) or should I sent a trivial fix in > llvm-commits (where I don't have direct commit access)? >-- Yiannis Tsiouris Ph.D. student, Software Engineering Laboratory, National Technical University of Athens WWW: http://www.softlab.ntua.gr/~gtsiour -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130227/b98b09c8/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: gcinfodelter-cleanup.patch Type: text/x-patch Size: 1530 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130227/b98b09c8/attachment.bin>
Dmitry Babokin
2013-Feb-27 15:53 UTC
[LLVMdev] GCMetadataPrinter::finishAssembly not executed?
Yiannis, - /// clear - Resets the pass. The metadata deleter pass calls this. + /// clear - Resets the pass. The metadata printer pass calls this. I would propose different text here: /// clear - Resets the pass. Any pass, which uses GCModuleInfo(), should call it in doFinalization(). Does it make sense? -Dmitry On Wed, Feb 27, 2013 at 7:21 PM, Yiannis Tsiouris <gtsiour at softlab.ntua.gr>wrote:> ** > Hi , > > Can someone commit the attatched (cleanup) patch for r175528? > > Thanks, > yiannis > > > On 02/25/2013 08:11 PM, Dmitry Babokin wrote: > > Yiannis, Pedro, > > I'm not an expert here. Taking closer look I see that it makes sense to > do this cleanup job in doFinalization() of the pass, which requested GC > info. So the current fix seems to be ok and all external clients will need > to do cleanup directly doing the same jobs as Printer::doFinalization() > does now. > > By the way, I've just noticed that comments for GCModuleInfo::clear() > also needs to be updated, as it mentions deleter pass. > > On Mon, Feb 25, 2013 at 9:55 PM, Yiannis Tsiouris <gtsiour at softlab.ntua.gr > > wrote: > >> Hi Dmitry, >> >> >> On 02/23/13 19:10, Dmitry Babokin wrote: >> >>> What's about the usage case, when LLVM is used as a library and the user >>> implements its custom pass, which dump the code (implemented as a >>> FunctionPass, but not as Printer)? >>> >> Hm, I haven't thought of that... I'll take a better look and try to find >> a more suitable solution. Any suggestion is more than welcome! :-) >> >> >> You also missed in your changes the declaration of >>> llvm::createGCInfoDeleter() in include/llvm/CodeGen/Passes.h >>> >> Oops, sorry! I suppose I missed that! Pedro, will you take care of that >> (by just removing it) or should I sent a trivial fix in llvm-commits (where >> I don't have direct commit access)? >> > -- > Yiannis Tsiouris > Ph.D. student, > Software Engineering Laboratory, > National Technical University of Athens > WWW: http://www.softlab.ntua.gr/~gtsiour > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130227/2dc79bf9/attachment.html>
Reasonably Related Threads
- [LLVMdev] GCMetadataPrinter::finishAssembly not executed?
- [LLVMdev] GCMetadataPrinter::finishAssembly not executed?
- [LLVMdev] GCMetadataPrinter::finishAssembly not executed?
- [LLVMdev] GCMetadataPrinter::finishAssembly not executed?
- [LLVMdev] GCMetadataPrinter::finishAssembly not executed?