[LLVMdev] Pass Scheduling Information without using opt

Ralf Karrenberg Chareos at gmx.de
Sun Jul 26 13:48:23 PDT 2009


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



More information about the llvm-dev mailing list