llvm-locstats - calculate statistics on DWARF debug location
llvm-locstats [options] [filename]
LLVM-LOCSTATS(1) LLVM LLVM-LOCSTATS(1)
NAME
llvm-locstats - calculate statistics on DWARF debug location
SYNOPSIS
llvm-locstats [options] [filename]
DESCRIPTION
llvm-locstats works like a wrapper around llvm-dwarfdump. It parses
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 loca-
tion 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
--only-variables
calculate the location statistics only for local variables
--only-formal-parameters
calculate the location statistics only for formal parameters
--ignore-debug-entry-values
ignore the location statistics on locations containing the debug
entry values DWARF operation
--draw-plot
make histogram of location buckets generated (requires mat-
plotlib)
--compare
compare the debug location coverage on two files provided, and
draw a plot showing the difference (requires matplotlib)
EXIT STATUS
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.
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.
llvm-locstats --draw-plot file1.out
[image]
EXAMPLE 3
Generate a plot as an image file showing the difference in the debug
location coverage.
llvm-locstats --compare file1.out file1.withentryvals.out
[image]
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+---------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+---------------------+
|Availability | developer/llvm/llvm |
+---------------+---------------------+
|Stability | Uncommitted |
+---------------+---------------------+
SEE ALSO
llvm-dwarfdump(1)
AUTHOR
Maintained by the LLVM Team (https://llvm.org/).
COPYRIGHT
2003-2022, LLVM Project
NOTES
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from https://github.com/llvm/llvm-
project/releases/download/llvmorg-11.0.0/llvm-11.0.0.src.tar.xz.
Further information about this software can be found on the open source
community website at https://llvm.org/.
11 2022-06-28 LLVM-LOCSTATS(1)