Hello, I want to compare a program before and after having run a FunctionPass. The purpose is merely didactic. What I would like to do is, during the runOnFunction() method, "save" somehow the instruction set and cfg of the function, run the optimization. and then compare the two codes, before and after the transformation. Is there an automatic way tho do that, or a suggested approach? Thanks, GT -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130414/5e07ab51/attachment.html>
On 14/04/13 18:40, Giacomo Tagliabue wrote:> I want to compare a program before and after having run a FunctionPass. > The purpose is merely didactic. What I would like to do is, during theI do a dump of the Module (Module.print) before and after running it through a PassManager (you could also use the Function.print method I think). You can put just a single pass in the PassManager to compare how the result differs. I do this often to see how optimization is changing my code. -- edA-qa mort-ora-y -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Sign: Please digitally sign your emails. Encrypt: I'm also happy to receive encrypted mail. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 261 bytes Desc: OpenPGP digital signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130414/d92fcc43/attachment.sig>
I don't want to do just a visual compare, i would like to manipulate, iterate, over the "old" version of the function. On 14 April 2013 11:49, edA-qa mort-ora-y <eda-qa at disemia.com> wrote:> On 14/04/13 18:40, Giacomo Tagliabue wrote: > > I want to compare a program before and after having run a FunctionPass. > > The purpose is merely didactic. What I would like to do is, during the > > I do a dump of the Module (Module.print) before and after running it > through a PassManager (you could also use the Function.print method I > think). You can put just a single pass in the PassManager to compare how > the result differs. I do this often to see how optimization is changing > my code. > > > -- > edA-qa mort-ora-y > -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > Sign: Please digitally sign your emails. > Encrypt: I'm also happy to receive encrypted mail. > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130414/bae35d1a/attachment.html>