LLVM-LOCSTATS(1) LLVM LLVM-LOCSTATS(1)

llvm-locstats - calculate statistics on DWARF debug location

llvm-locstats [options] [filename]

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.

calculate the location statistics only for local variables
calculate the location statistics only for formal parameters
ignore the location statistics on locations containing the debug entry values DWARF operation
make histogram of location buckets generated (requires matplotlib)
compare the debug location coverage on two files provided, and draw a plot showing the difference (requires matplotlib)

llvm-locstats returns 0 if the input file were parsed successfully. Otherwise, it returns 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%
  =================================================

Generate a plot as an image file.

llvm-locstats --draw-plot file1.out
[image]

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

llvm-locstats --compare file1.out file1.withentryvals.out
[image]

llvm-dwarfdump(1)

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

2003-2024, LLVM Project

2024-05-01 17