Ralf Karrenberg
2009-Jul-26 18:51 UTC
[LLVMdev] Pass Scheduling Information without using opt
Hello everybody, is it somehow possible to get information about what passes were run in what order or timing analysis of passes *without* using opt? I am implementing a ModulePass that at some point creates a FunctionPassManager which runs several passes, but I cannot figure a way to output the same information as when running a command line tool as described in "Writing an LLVM Pass". Regards, Ralf
Daniel Dunbar
2009-Jul-26 19:35 UTC
[LLVMdev] Pass Scheduling Information without using opt
Hi Ralf, I believe all you need to do is call llvm::llvm_shutdown(). - Daniel On Sun, Jul 26, 2009 at 11:51 AM, Ralf Karrenberg<Ralf.Karrenberg at gmx.de> wrote:> Hello everybody, > > is it somehow possible to get information about what passes were run in > what order or timing analysis of passes *without* using opt? > I am implementing a ModulePass that at some point creates a > FunctionPassManager which runs several passes, but I cannot figure a way > to output the same information as when running a command line tool as > described in "Writing an LLVM Pass". > > Regards, > Ralf > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >
Ralf Karrenberg
2009-Jul-26 20:48 UTC
[LLVMdev] Pass Scheduling Information without using opt
Hey Daniel, thanks for the response.> I believe all you need to do is call llvm::llvm_shutdown(). >I am not sure that this is what I need. When and how should I call llvm_shutdown()? After the FunctionPassManager is done, the calling ModulePass still performs quite a few actions on the transformed code and also calls the FunctionPassManager on different functions. However, I need to display statistics about the transformation of each function separately. If I call llvm_shutdown() after the FunctionPassManager is finished, I do not get any output. Instead, the bitcode seems to get corrupted (at least the verifier reports a lot of "Intrinsic has wrong parameter attributes" warnings, the code still runs fine). Cheers, Ralf> On Sun, Jul 26, 2009 at 11:51 AM, Ralf Karrenberg<Ralf.Karrenberg at gmx.de> wrote: > >> Hello everybody, >> >> is it somehow possible to get information about what passes were run in >> what order or timing analysis of passes *without* using opt? >> I am implementing a ModulePass that at some point creates a >> FunctionPassManager which runs several passes, but I cannot figure a way >> to output the same information as when running a command line tool as >> described in "Writing an LLVM Pass". >> >> Regards, >> Ralf >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Possibly Parallel Threads
- [LLVMdev] Pass Scheduling Information without using opt
- [LLVMdev] Pass Scheduling Information without using opt
- [LLVMdev] Pass Scheduling Information without using opt
- [LLVMdev] Pass Scheduling Information without using opt
- [LLVMdev] Pass Scheduling Information without using opt