| =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|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 |