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