LLVM-LOCSTATS(1)

πŸ“¦
version 13.0.1 Β· 5 versions
, in ubuntu jammy

πŸ’– NAME πŸ’–

llvm-locstats β€” calculate statistics on DWARF debug location. This page is from the LLVM manual, and yes bestie, it is the debug-info stats icon. πŸ’…βœ¨

🌸 SYNOPSIS 🌸

llvm-locstats [options] [filename]

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so 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 whole thing is giving debug-info glow-up, no cap. πŸ’–

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. Literally the range midpoints are eating. πŸ’…

✨ OPTIONS ✨

  • --only-variables β€” calculate the location statistics only for local variables. That's the whole assignment, bestie. πŸŽ€
  • --only-formal-parameters β€” calculate the location statistics only for formal parameters. Same energy, different parameter moment. πŸ¦‹
  • --ignore-debug-entry-values β€” ignore the location statistics on locations containing the debug entry values DWARF operation. It's a very specific vibe check, iykyk. πŸ’œ
  • --draw-plot β€” make histogram of location buckets generated. It requires matplotlib, so that's a whole dependency situation. 🌸
  • --compare β€” compare the debug location coverage on two files provided, and draw a plot showing the difference. Also requires matplotlib. πŸ‘‘

πŸŽ€ EXIT STATUS πŸŽ€

llvm-locstats returns 0 if the input file were parsed successfully. Otherwise, it returns 1. Binary mood, fr fr. πŸ’–

πŸ”₯ 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/).

2003-2023, LLVM Project


πŸ’– That's the whole page, bestie β€” LLVM version 13, dated 2023-07-14. Catch you in the footer! πŸ’–

πŸ“¦ where this page comes from