blob: 4b2e09d70470559b0716c358555bda8a57a92b1d [file] [log] [blame]
Brian Gaekec5565942004-05-14 18:03:22 +00001=pod
2
3=head1 NAME
4
Brian Gaeke1274e442004-05-14 18:31:13 +00005llvm-prof - print execution profile of LLVM program
Brian Gaekec5565942004-05-14 18:03:22 +00006
7=head1 SYNOPSIS
8
Gabor Greif6c0bda82007-07-09 11:24:05 +00009B<llvm-prof> [I<options>] [I<bitcode file>] [I<llvmprof.out>]
Brian Gaekec5565942004-05-14 18:03:22 +000010
11=head1 DESCRIPTION
12
13The B<llvm-prof> tool reads in an F<llvmprof.out> file (which can
Gabor Greif6c0bda82007-07-09 11:24:05 +000014optionally use a specific file with the third program argument), a bitcode file
Brian Gaekec5565942004-05-14 18:03:22 +000015for 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
Duncan Sands142b9ed2010-02-18 14:08:13 +000021F<utils/profile.pl>, execute it with the B<-help> option.
Brian Gaekec5565942004-05-14 18:03:22 +000022
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
Gabor Greif6c0bda82007-07-09 11:24:05 +000050B<llvm-prof> returns 1 if it cannot load the bitcode file or the profile
Misha Brukmanda259072004-11-15 20:30:19 +000051information. Otherwise, it exits with zero.
Brian Gaekec5565942004-05-14 18:03:22 +000052
53=head1 AUTHOR
54
NAKAMURA Takumica46f5a2011-04-09 02:13:37 +000055B<llvm-prof> is maintained by the LLVM Team (L<http://llvm.org/>).
Brian Gaekec5565942004-05-14 18:03:22 +000056
57=cut