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