summaryrefslogtreecommitdiffstats
path: root/llvm/docs/CommandGuide/llvm-locstats.rst
diff options
context:
space:
mode:
authorDjordje Todorovic <djordje.todorovic@rt-rk.com>2019-09-30 07:35:17 +0000
committerDjordje Todorovic <djordje.todorovic@rt-rk.com>2019-09-30 07:35:17 +0000
commit0f30960619f9c6b3566d3d4ed9a9bdd6ee0d3725 (patch)
tree5d8746fffc12f418ae2b4c372f351dc96409888f /llvm/docs/CommandGuide/llvm-locstats.rst
parente794c049b3e281121722069c74def5163ecf927b (diff)
downloadbcm5719-llvm-0f30960619f9c6b3566d3d4ed9a9bdd6ee0d3725.tar.gz
bcm5719-llvm-0f30960619f9c6b3566d3d4ed9a9bdd6ee0d3725.zip
Reland "[utils] Implement the llvm-locstats tool"
The tool reports verbose output for the DWARF debug location coverage. The llvm-locstats for each variable or formal parameter DIE computes what percentage from the code section bytes, where it is in scope, it has location description. The line 0 shows the number (and the percentage) of DIEs with no location information, but the line 100 shows the number (and the percentage) of DIEs where there is location information in all code section bytes (where the variable or parameter is in the scope). The line 50..59 shows the number (and the percentage) of DIEs where the location information is in between 50 and 59 percentage of its scope covered. Differential Revision: https://reviews.llvm.org/D66526 llvm-svn: 373183
Diffstat (limited to 'llvm/docs/CommandGuide/llvm-locstats.rst')
-rw-r--r--llvm/docs/CommandGuide/llvm-locstats.rst79
1 files changed, 79 insertions, 0 deletions
diff --git a/llvm/docs/CommandGuide/llvm-locstats.rst b/llvm/docs/CommandGuide/llvm-locstats.rst
new file mode 100644
index 00000000000..434b8c8ed2a
--- /dev/null
+++ b/llvm/docs/CommandGuide/llvm-locstats.rst
@@ -0,0 +1,79 @@
+llvm-locstats - calculate statistics on DWARF debug location
+============================================================
+
+.. program:: llvm-locstats
+
+SYNOPSIS
+--------
+
+:program:`llvm-locstats` [*options*] [*filename*]
+
+DESCRIPTION
+-----------
+
+:program:`llvm-locstats` works like a wrapper around :program:`llvm-dwarfdump`.
+It parses :program:`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-59% shows the number and the percentage of DIEs
+where the location information is between 50 and 59 percentage of its scope
+covered.
+
+OPTIONS
+-------
+
+.. option:: -only-variables
+
+ Calculate the location statistics only for local variables.
+
+.. option:: -only-formal-parameters
+
+ Calculate the location statistics only for formal parameters.
+
+.. option:: -ignore-debug-entry-values
+
+ Ignore the location statistics on locations containing the
+ debug entry values DWARF operation.
+
+EXIT STATUS
+-----------
+
+:program:`llvm-locstats` returns 0 if the input file were parsed
+successfully. Otherwise, it returns 1.
+
+OUTPUT EXAMPLE
+--------------
+
+.. code-block:: none
+
+ =================================================
+ Debug Location Statistics
+ =================================================
+ cov% samples percentage(~)
+ -------------------------------------------------
+ 0% 1 16%
+ 1-9% 0 0%
+ 10-19% 0 0%
+ 20-29% 0 0%
+ 30-39% 0 0%
+ 40-49% 0 0%
+ 50-99% 1 16%
+ 60-69% 0 0%
+ 70-79% 0 0%
+ 80-89% 1 16%
+ 90-99% 0 0%
+ 100% 3 50%
+ =================================================
+ -the number of debug variables processed: 6
+ -PC ranges covered: 81%
+ -------------------------------------------------
+ -total availability: 83%
+ =================================================
+
+SEE ALSO
+--------
+
+:manpage:`llvm-dwarfdump(1)`
OpenPOWER on IntegriCloud