]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - usr.bin/clang/llvm-prof/llvm-prof.1
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / usr.bin / clang / llvm-prof / llvm-prof.1
1 .\" $FreeBSD$
2 .TH "LLVM-PROF" "1" "2013-04-11" "3.3" "LLVM"
3 .SH NAME
4 llvm-prof \- print execution profile of LLVM program
5 .
6 .nr rst2man-indent-level 0
7 .
8 .de1 rstReportMargin
9 \\$1 \\n[an-margin]
10 level \\n[rst2man-indent-level]
11 level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
12 -
13 \\n[rst2man-indent0]
14 \\n[rst2man-indent1]
15 \\n[rst2man-indent2]
16 ..
17 .de1 INDENT
18 .\" .rstReportMargin pre:
19 . RS \\$1
20 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
21 . nr rst2man-indent-level +1
22 .\" .rstReportMargin post:
23 ..
24 .de UNINDENT
25 . RE
26 .\" indent \\n[an-margin]
27 .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
28 .nr rst2man-indent-level -1
29 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
30 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
31 ..
32 .\" Man page generated from reStructuredText.
33 .
34 .SH SYNOPSIS
35 .sp
36 \fBllvm\-prof\fP [\fIoptions\fP] [\fIbitcode file\fP] [\fIllvmprof.out\fP]
37 .SH DESCRIPTION
38 .sp
39 The \fBllvm\-prof\fP tool reads in an \fIllvmprof.out\fP file (which can
40 optionally use a specific file with the third program argument), a bitcode file
41 for the program, and produces a human readable report, suitable for determining
42 where the program hotspots are.
43 .sp
44 This program is often used in conjunction with the \fIutils/profile.pl\fP
45 script.  This script automatically instruments a program, runs it with the JIT,
46 then runs \fBllvm\-prof\fP to format a report.  To get more information about
47 \fIutils/profile.pl\fP, execute it with the \fB\-help\fP option.
48 .SH OPTIONS
49 .sp
50 \fB\-\-annotated\-llvm\fP or \fB\-A\fP
51 .INDENT 0.0
52 .INDENT 3.5
53 In addition to the normal report printed, print out the code for the
54 program, annotated with execution frequency information. This can be
55 particularly useful when trying to visualize how frequently basic blocks
56 are executed.  This is most useful with basic block profiling
57 information or better.
58 .UNINDENT
59 .UNINDENT
60 .sp
61 \fB\-\-print\-all\-code\fP
62 .INDENT 0.0
63 .INDENT 3.5
64 Using this option enables the \fB\-\-annotated\-llvm\fP option, but it
65 prints the entire module, instead of just the most commonly executed
66 functions.
67 .UNINDENT
68 .UNINDENT
69 .sp
70 \fB\-\-time\-passes\fP
71 .INDENT 0.0
72 .INDENT 3.5
73 Record the amount of time needed for each pass and print it to standard
74 error.
75 .UNINDENT
76 .UNINDENT
77 .SH EXIT STATUS
78 .sp
79 \fBllvm\-prof\fP returns 1 if it cannot load the bitcode file or the profile
80 information. Otherwise, it exits with zero.
81 .SH AUTHOR
82 Maintained by The LLVM Team (http://llvm.org/).
83 .SH COPYRIGHT
84 2003-2013, LLVM Project
85 .\" Generated by docutils manpage writer.
86 .