File: llvm-locstats.rst

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 (118 lines) | stat: -rw-r--r-- 3,353 bytes parent folder | download | duplicates (28)
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
llvm-locstats - calculate statistics on DWARF debug location
============================================================

.. program:: llvm-locstats

SYNOPSIS
--------

:program:`llvm-locstats` [*options*] [*filename*]

DESCRIPTION
-----------

:program:`llvm-locstats` works like a wrapper around :program:`llvm-dwarfdump`.
It parses :program:`llvm-dwarfdump` statistics regarding debug location by
pretty printing it in a more human readable way.

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.

OPTIONS
-------

.. option:: --only-variables

            calculate the location statistics only for local variables

.. option:: --only-formal-parameters

            calculate the location statistics only for formal parameters

.. option:: --ignore-debug-entry-values

            ignore the location statistics on locations containing the
            debug entry values DWARF operation

.. option:: --draw-plot

            make histogram of location buckets generated (requires
            matplotlib)

.. option:: --compare

            compare the debug location coverage on two files provided, and draw
            a plot showing the difference (requires matplotlib)

EXIT STATUS
-----------

:program:`llvm-locstats` returns 0 if the input file were parsed
successfully. Otherwise, it returns 1.

EXAMPLE 1
--------------

Pretty print the location coverage on the standard output.

.. code-block:: none

  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%
    =================================================

EXAMPLE 2
--------------

Generate a plot as an image file.

.. code-block:: none

  llvm-locstats --draw-plot file1.out

.. image:: locstats-draw-plot.png
  :align: center

EXAMPLE 3
--------------

Generate a plot as an image file showing the difference in the debug location
coverage.

.. code-block:: none

  llvm-locstats --compare file1.out file1.withentryvals.out

.. image:: locstats-compare.png
  :align: center

SEE ALSO
--------

:manpage:`llvm-dwarfdump(1)`