1=pod 2 3=head1 NAME 4 5llvm-prof - print execution profile of LLVM program 6 7=head1 SYNOPSIS 8 9B<llvm-prof> [I<options>] [I<bitcode file>] [I<llvmprof.out>] 10 11=head1 DESCRIPTION 12 13The B<llvm-prof> tool reads in an F<llvmprof.out> file (which can 14optionally use a specific file with the third program argument), a bitcode file 15for the program, and produces a human readable report, suitable for determining 16where the program hotspots are. 17 18This program is often used in conjunction with the F<utils/profile.pl> 19script. This script automatically instruments a program, runs it with the JIT, 20then runs B<llvm-prof> to format a report. To get more information about 21F<utils/profile.pl>, execute it with the B<-help> option. 22 23=head1 OPTIONS 24 25=over 26 27=item B<--annotated-llvm> or B<-A> 28 29In addition to the normal report printed, print out the code for the 30program, annotated with execution frequency information. This can be 31particularly useful when trying to visualize how frequently basic blocks 32are executed. This is most useful with basic block profiling 33information or better. 34 35=item B<--print-all-code> 36 37Using this option enables the B<--annotated-llvm> option, but it 38prints the entire module, instead of just the most commonly executed 39functions. 40 41=item B<--time-passes> 42 43Record the amount of time needed for each pass and print it to standard 44error. 45 46=back 47 48=head1 EXIT STATUS 49 50B<llvm-prof> returns 1 if it cannot load the bitcode file or the profile 51information. Otherwise, it exits with zero. 52 53=head1 AUTHOR 54 55B<llvm-prof> is maintained by the LLVM Team (L<http://llvm.org/>). 56 57=cut 58