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

    --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 matplotlib)

    --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]

SEE ALSO

llvm-dwarfdump(1)

AUTHOR
Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT
2003-2025, LLVM Project