| =pod | 
 |  | 
 | =head1 NAME | 
 |  | 
 | llvm-prof - print execution profile of LLVM program | 
 |  | 
 | =head1 SYNOPSIS | 
 |  | 
 | B<llvm-prof> [I<options>] [I<bytecode file>] [I<llvmprof.out>] | 
 |  | 
 | =head1 DESCRIPTION | 
 |  | 
 | The B<llvm-prof> tool reads in an F<llvmprof.out> file (which can | 
 | optionally use a specific file with the third program argument), a bytecode file | 
 | for the program, and produces a human readable report, suitable for determining | 
 | where the program hotspots are. | 
 |  | 
 | This program is often used in conjunction with the F<utils/profile.pl> | 
 | script.  This script automatically instruments a program, runs it with the JIT, | 
 | then runs B<llvm-prof> to format a report.  To get more information about | 
 | F<utils/profile.pl>, execute it with the B<--help> option. | 
 |  | 
 | =head1 OPTIONS | 
 |  | 
 | =over | 
 |  | 
 | =item B<--annotated-llvm> or B<-A> | 
 |  | 
 | In addition to the normal report printed, print out the code for the | 
 | program, annotated with execution frequency information. This can be | 
 | particularly useful when trying to visualize how frequently basic blocks | 
 | are executed.  This is most useful with basic block profiling | 
 | information or better. | 
 |  | 
 | =item B<--print-all-code> | 
 |  | 
 | Using this option enables the B<--annotated-llvm> option, but it | 
 | prints the entire module, instead of just the most commonly executed | 
 | functions. | 
 |  | 
 | =item B<--time-passes> | 
 |  | 
 | Record the amount of time needed for each pass and print it to standard | 
 | error. | 
 |  | 
 | =back | 
 |  | 
 | =head1 EXIT STATUS | 
 |  | 
 | B<llvm-prof> returns 1 if it cannot load the bytecode file or the profile | 
 | information. Otherwise, it exits with zero. | 
 |  | 
 | =head1 AUTHOR | 
 |  | 
 | B<llvm-prof> is maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>). | 
 |  | 
 | =cut |