Djordje Todorovic | 2ef18fb | 2019-10-02 07:00:01 +0000 | [diff] [blame] | 1 | llvm-locstats - calculate statistics on DWARF debug location |
| 2 | ============================================================ |
| 3 | |
| 4 | .. program:: llvm-locstats |
| 5 | |
| 6 | SYNOPSIS |
| 7 | -------- |
| 8 | |
| 9 | :program:`llvm-locstats` [*options*] [*filename*] |
| 10 | |
| 11 | DESCRIPTION |
| 12 | ----------- |
| 13 | |
| 14 | :program:`llvm-locstats` works like a wrapper around :program:`llvm-dwarfdump`. |
| 15 | It parses :program:`llvm-dwarfdump` statistics regarding debug location by |
| 16 | pretty printing it in a more human readable way. |
| 17 | |
| 18 | The line 0% shows the number and the percentage of DIEs with no location |
| 19 | information, but the line 100% shows the information for DIEs where there is |
| 20 | location information in all code section bytes (where the variable or parameter |
Kristina Bessonova | 1cc4b60 | 2019-12-11 20:52:49 +0300 | [diff] [blame] | 21 | is in the scope). The line [50%,60%) shows the number and the percentage of DIEs |
| 22 | where the location information is between 50 and 60 percentage of its scope |
Djordje Todorovic | 2ef18fb | 2019-10-02 07:00:01 +0000 | [diff] [blame] | 23 | covered. |
| 24 | |
| 25 | OPTIONS |
| 26 | ------- |
| 27 | |
Djordje Todorovic | a3ebc40 | 2020-01-13 12:31:28 +0100 | [diff] [blame^] | 28 | .. option:: --only-variables |
Djordje Todorovic | 2ef18fb | 2019-10-02 07:00:01 +0000 | [diff] [blame] | 29 | |
Djordje Todorovic | a3ebc40 | 2020-01-13 12:31:28 +0100 | [diff] [blame^] | 30 | calculate the location statistics only for local variables |
Djordje Todorovic | 2ef18fb | 2019-10-02 07:00:01 +0000 | [diff] [blame] | 31 | |
Djordje Todorovic | a3ebc40 | 2020-01-13 12:31:28 +0100 | [diff] [blame^] | 32 | .. option:: --only-formal-parameters |
Djordje Todorovic | 2ef18fb | 2019-10-02 07:00:01 +0000 | [diff] [blame] | 33 | |
Djordje Todorovic | a3ebc40 | 2020-01-13 12:31:28 +0100 | [diff] [blame^] | 34 | calculate the location statistics only for formal parameters |
Djordje Todorovic | 2ef18fb | 2019-10-02 07:00:01 +0000 | [diff] [blame] | 35 | |
Djordje Todorovic | a3ebc40 | 2020-01-13 12:31:28 +0100 | [diff] [blame^] | 36 | .. option:: --ignore-debug-entry-values |
Djordje Todorovic | 2ef18fb | 2019-10-02 07:00:01 +0000 | [diff] [blame] | 37 | |
Djordje Todorovic | a3ebc40 | 2020-01-13 12:31:28 +0100 | [diff] [blame^] | 38 | ignore the location statistics on locations containing the |
| 39 | debug entry values DWARF operation |
Djordje Todorovic | 2ef18fb | 2019-10-02 07:00:01 +0000 | [diff] [blame] | 40 | |
| 41 | EXIT STATUS |
| 42 | ----------- |
| 43 | |
| 44 | :program:`llvm-locstats` returns 0 if the input file were parsed |
| 45 | successfully. Otherwise, it returns 1. |
| 46 | |
| 47 | OUTPUT EXAMPLE |
| 48 | -------------- |
| 49 | |
| 50 | .. code-block:: none |
| 51 | |
| 52 | ================================================= |
| 53 | Debug Location Statistics |
| 54 | ================================================= |
| 55 | cov% samples percentage(~) |
| 56 | ------------------------------------------------- |
| 57 | 0% 1 16% |
Kristina Bessonova | d5655c4 | 2019-12-05 16:45:57 +0300 | [diff] [blame] | 58 | (0%,10%) 0 0% |
Kristina Bessonova | 1cc4b60 | 2019-12-11 20:52:49 +0300 | [diff] [blame] | 59 | [10%,20%) 0 0% |
| 60 | [20%,30%) 0 0% |
| 61 | [30%,40%) 0 0% |
| 62 | [40%,50%) 0 0% |
| 63 | [50%,60%) 1 16% |
| 64 | [60%,70%) 0 0% |
| 65 | [70%,80%) 0 0% |
| 66 | [80%,90%) 1 16% |
| 67 | [90%,100%) 0 0% |
Djordje Todorovic | 2ef18fb | 2019-10-02 07:00:01 +0000 | [diff] [blame] | 68 | 100% 3 50% |
| 69 | ================================================= |
| 70 | -the number of debug variables processed: 6 |
| 71 | -PC ranges covered: 81% |
| 72 | ------------------------------------------------- |
| 73 | -total availability: 83% |
| 74 | ================================================= |
| 75 | |
| 76 | SEE ALSO |
| 77 | -------- |
| 78 | |
| 79 | :manpage:`llvm-dwarfdump(1)` |