File: llvm-locstats.1

package info (click to toggle)
llvm-toolchain-13 1%3A13.0.1-6~deb10u4
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,418,792 kB
  • sloc: cpp: 5,290,827; ansic: 996,570; asm: 544,593; python: 188,212; objc: 72,027; lisp: 30,291; f90: 25,395; sh: 24,900; javascript: 9,780; pascal: 9,398; perl: 7,484; ml: 5,432; awk: 3,523; makefile: 2,892; xml: 953; cs: 573; fortran: 539
file content (155 lines) | stat: -rw-r--r-- 4,185 bytes parent folder | download | duplicates (7)
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
.\" Man page generated from reStructuredText.
.
.TH "LLVM-LOCSTATS" "1" "2021-09-18" "13" "LLVM"
.SH NAME
llvm-locstats \- calculate statistics on DWARF debug location
.
.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
..
.SH SYNOPSIS
.sp
\fBllvm\-locstats\fP [\fIoptions\fP] [\fIfilename\fP]
.SH DESCRIPTION
.sp
\fBllvm\-locstats\fP works like a wrapper around \fBllvm\-dwarfdump\fP\&.
It parses \fBllvm\-dwarfdump\fP statistics regarding debug location by
pretty printing it in a more human readable way.
.sp
The line 0% shows the number and the percentage of DIEs with no location
information, but the line 100% shows the information for DIEs where there is
location information in all code section bytes (where the variable or parameter
is in the scope). The line [50%,60%) shows the number and the percentage of DIEs
where the location information is between 50 and 60 percentage of its scope
covered.
.SH OPTIONS
.INDENT 0.0
.TP
.B \-\-only\-variables
calculate the location statistics only for local variables
.UNINDENT
.INDENT 0.0
.TP
.B \-\-only\-formal\-parameters
calculate the location statistics only for formal parameters
.UNINDENT
.INDENT 0.0
.TP
.B \-\-ignore\-debug\-entry\-values
ignore the location statistics on locations containing the
debug entry values DWARF operation
.UNINDENT
.INDENT 0.0
.TP
.B \-\-draw\-plot
make histogram of location buckets generated (requires
matplotlib)
.UNINDENT
.INDENT 0.0
.TP
.B \-\-compare
compare the debug location coverage on two files provided, and draw
a plot showing the difference (requires matplotlib)
.UNINDENT
.SH EXIT STATUS
.sp
\fBllvm\-locstats\fP returns 0 if the input file were parsed
successfully. Otherwise, it returns 1.
.SH EXAMPLE 1
.sp
Pretty print the location coverage on the standard output.
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
llvm\-locstats a.out

  =================================================
            Debug Location Statistics
  =================================================
        cov%          samples       percentage(~)
  \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
     0%                    1              16%
     (0%,10%)              0               0%
     [10%,20%)             0               0%
     [20%,30%)             0               0%
     [30%,40%)             0               0%
     [40%,50%)             0               0%
     [50%,60%)             1              16%
     [60%,70%)             0               0%
     [70%,80%)             0               0%
     [80%,90%)             1              16%
     [90%,100%)            0               0%
     100%                  3              50%
  =================================================
  \-the number of debug variables processed: 6
  \-PC ranges covered: 81%
  \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
  \-total availability: 83%
  =================================================
.ft P
.fi
.UNINDENT
.UNINDENT
.SH EXAMPLE 2
.sp
Generate a plot as an image file.
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
llvm\-locstats \-\-draw\-plot file1.out
.ft P
.fi
.UNINDENT
.UNINDENT
[image]
.SH EXAMPLE 3
.sp
Generate a plot as an image file showing the difference in the debug location
coverage.
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
llvm\-locstats \-\-compare file1.out file1.withentryvals.out
.ft P
.fi
.UNINDENT
.UNINDENT
[image]
.SH SEE ALSO
.sp
\fBllvm\-dwarfdump(1)\fP
.SH AUTHOR
Maintained by the LLVM Team (https://llvm.org/).
.SH COPYRIGHT
2003-2021, LLVM Project
.\" Generated by docutils manpage writer.
.