.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "LLVM-LOCSTATS" "1" "2024-04-01" "15" "LLVM" .SH NAME llvm-locstats \- calculate statistics on DWARF debug location .SH SYNOPSIS .sp \fBllvm\-locstats\fP [\fIoptions\fP] [\fIfilename\fP] .SH DESCRIPTION .sp \fBllvm\-locstats\fP works like a wrapper around \fBllvm\-dwarfdump\fP\&. It parses \fBllvm\-dwarfdump\fP statistics regarding debug location by pretty printing it in a more human readable way. .sp 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. .SH OPTIONS .INDENT 0.0 .TP .B \-\-only\-variables calculate the location statistics only for local variables .UNINDENT .INDENT 0.0 .TP .B \-\-only\-formal\-parameters calculate the location statistics only for formal parameters .UNINDENT .INDENT 0.0 .TP .B \-\-ignore\-debug\-entry\-values ignore the location statistics on locations containing the debug entry values DWARF operation .UNINDENT .INDENT 0.0 .TP .B \-\-draw\-plot make histogram of location buckets generated (requires matplotlib) .UNINDENT .INDENT 0.0 .TP .B \-\-compare compare the debug location coverage on two files provided, and draw a plot showing the difference (requires matplotlib) .UNINDENT .SH EXIT STATUS .sp \fBllvm\-locstats\fP returns 0 if the input file were parsed successfully. Otherwise, it returns 1. .SH EXAMPLE 1 .sp Pretty print the location coverage on the standard output. .INDENT 0.0 .INDENT 3.5 .sp .EX 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% ================================================= .EE .UNINDENT .UNINDENT .SH EXAMPLE 2 .sp Generate a plot as an image file. .INDENT 0.0 .INDENT 3.5 .sp .EX llvm\-locstats \-\-draw\-plot file1.out .EE .UNINDENT .UNINDENT [image] .SH EXAMPLE 3 .sp Generate a plot as an image file showing the difference in the debug location coverage. .INDENT 0.0 .INDENT 3.5 .sp .EX llvm\-locstats \-\-compare file1.out file1.withentryvals.out .EE .UNINDENT .UNINDENT [image] .SH SEE ALSO .sp \fBllvm\-dwarfdump(1)\fP .SH AUTHOR Maintained by the LLVM Team (https://llvm.org/). .SH COPYRIGHT 2003-2024, LLVM Project .\" Generated by docutils manpage writer. .