12ef18fb4SDjordje Todorovicllvm-locstats - calculate statistics on DWARF debug location 22ef18fb4SDjordje Todorovic============================================================ 32ef18fb4SDjordje Todorovic 42ef18fb4SDjordje Todorovic.. program:: llvm-locstats 52ef18fb4SDjordje Todorovic 62ef18fb4SDjordje TodorovicSYNOPSIS 72ef18fb4SDjordje Todorovic-------- 82ef18fb4SDjordje Todorovic 92ef18fb4SDjordje Todorovic:program:`llvm-locstats` [*options*] [*filename*] 102ef18fb4SDjordje Todorovic 112ef18fb4SDjordje TodorovicDESCRIPTION 122ef18fb4SDjordje Todorovic----------- 132ef18fb4SDjordje Todorovic 142ef18fb4SDjordje Todorovic:program:`llvm-locstats` works like a wrapper around :program:`llvm-dwarfdump`. 152ef18fb4SDjordje TodorovicIt parses :program:`llvm-dwarfdump` statistics regarding debug location by 162ef18fb4SDjordje Todorovicpretty printing it in a more human readable way. 172ef18fb4SDjordje Todorovic 182ef18fb4SDjordje TodorovicThe line 0% shows the number and the percentage of DIEs with no location 192ef18fb4SDjordje Todorovicinformation, but the line 100% shows the information for DIEs where there is 202ef18fb4SDjordje Todoroviclocation information in all code section bytes (where the variable or parameter 211cc4b603SKristina Bessonovais in the scope). The line [50%,60%) shows the number and the percentage of DIEs 221cc4b603SKristina Bessonovawhere the location information is between 50 and 60 percentage of its scope 232ef18fb4SDjordje Todoroviccovered. 242ef18fb4SDjordje Todorovic 252ef18fb4SDjordje TodorovicOPTIONS 262ef18fb4SDjordje Todorovic------- 272ef18fb4SDjordje Todorovic 28a3ebc406SDjordje Todorovic.. option:: --only-variables 292ef18fb4SDjordje Todorovic 30a3ebc406SDjordje Todorovic calculate the location statistics only for local variables 312ef18fb4SDjordje Todorovic 32a3ebc406SDjordje Todorovic.. option:: --only-formal-parameters 332ef18fb4SDjordje Todorovic 34a3ebc406SDjordje Todorovic calculate the location statistics only for formal parameters 352ef18fb4SDjordje Todorovic 36a3ebc406SDjordje Todorovic.. option:: --ignore-debug-entry-values 372ef18fb4SDjordje Todorovic 38a3ebc406SDjordje Todorovic ignore the location statistics on locations containing the 39a3ebc406SDjordje Todorovic debug entry values DWARF operation 402ef18fb4SDjordje Todorovic 41ada96466SDjordje Todorovic.. option:: --draw-plot 42ada96466SDjordje Todorovic 43ada96466SDjordje Todorovic make histogram of location buckets generated (requires 44ada96466SDjordje Todorovic matplotlib) 45ada96466SDjordje Todorovic 46*3b8ef787SDjordje Todorovic.. option:: --compare 47*3b8ef787SDjordje Todorovic 48*3b8ef787SDjordje Todorovic compare the debug location coverage on two files provided, and draw 49*3b8ef787SDjordje Todorovic a plot showing the difference (requires matplotlib) 50*3b8ef787SDjordje Todorovic 512ef18fb4SDjordje TodorovicEXIT STATUS 522ef18fb4SDjordje Todorovic----------- 532ef18fb4SDjordje Todorovic 542ef18fb4SDjordje Todorovic:program:`llvm-locstats` returns 0 if the input file were parsed 552ef18fb4SDjordje Todorovicsuccessfully. Otherwise, it returns 1. 562ef18fb4SDjordje Todorovic 57ada96466SDjordje TodorovicEXAMPLE 1 582ef18fb4SDjordje Todorovic-------------- 592ef18fb4SDjordje Todorovic 60ada96466SDjordje TodorovicPretty print the location coverage on the standard output. 61ada96466SDjordje Todorovic 622ef18fb4SDjordje Todorovic.. code-block:: none 632ef18fb4SDjordje Todorovic 64ada96466SDjordje Todorovic llvm-locstats a.out 65ada96466SDjordje Todorovic 662ef18fb4SDjordje Todorovic ================================================= 672ef18fb4SDjordje Todorovic Debug Location Statistics 682ef18fb4SDjordje Todorovic ================================================= 692ef18fb4SDjordje Todorovic cov% samples percentage(~) 702ef18fb4SDjordje Todorovic ------------------------------------------------- 712ef18fb4SDjordje Todorovic 0% 1 16% 72d5655c4dSKristina Bessonova (0%,10%) 0 0% 731cc4b603SKristina Bessonova [10%,20%) 0 0% 741cc4b603SKristina Bessonova [20%,30%) 0 0% 751cc4b603SKristina Bessonova [30%,40%) 0 0% 761cc4b603SKristina Bessonova [40%,50%) 0 0% 771cc4b603SKristina Bessonova [50%,60%) 1 16% 781cc4b603SKristina Bessonova [60%,70%) 0 0% 791cc4b603SKristina Bessonova [70%,80%) 0 0% 801cc4b603SKristina Bessonova [80%,90%) 1 16% 811cc4b603SKristina Bessonova [90%,100%) 0 0% 822ef18fb4SDjordje Todorovic 100% 3 50% 832ef18fb4SDjordje Todorovic ================================================= 842ef18fb4SDjordje Todorovic -the number of debug variables processed: 6 852ef18fb4SDjordje Todorovic -PC ranges covered: 81% 862ef18fb4SDjordje Todorovic ------------------------------------------------- 872ef18fb4SDjordje Todorovic -total availability: 83% 882ef18fb4SDjordje Todorovic ================================================= 892ef18fb4SDjordje Todorovic 90ada96466SDjordje TodorovicEXAMPLE 2 91ada96466SDjordje Todorovic-------------- 92ada96466SDjordje Todorovic 93ada96466SDjordje TodorovicGenerate a plot as an image file. 94ada96466SDjordje Todorovic 95ada96466SDjordje Todorovic.. code-block:: none 96ada96466SDjordje Todorovic 97ada96466SDjordje Todorovic llvm-locstats --draw-plot file1.out 98ada96466SDjordje Todorovic 99ada96466SDjordje Todorovic.. image:: locstats-draw-plot.png 100ada96466SDjordje Todorovic :align: center 101ada96466SDjordje Todorovic 102*3b8ef787SDjordje TodorovicEXAMPLE 3 103*3b8ef787SDjordje Todorovic-------------- 104*3b8ef787SDjordje Todorovic 105*3b8ef787SDjordje TodorovicGenerate a plot as an image file showing the difference in the debug location 106*3b8ef787SDjordje Todoroviccoverage. 107*3b8ef787SDjordje Todorovic 108*3b8ef787SDjordje Todorovic.. code-block:: none 109*3b8ef787SDjordje Todorovic 110*3b8ef787SDjordje Todorovic llvm-locstats --compare file1.out file1.withentryvals.out 111*3b8ef787SDjordje Todorovic 112*3b8ef787SDjordje Todorovic.. image:: locstats-compare.png 113*3b8ef787SDjordje Todorovic :align: center 114*3b8ef787SDjordje Todorovic 1152ef18fb4SDjordje TodorovicSEE ALSO 1162ef18fb4SDjordje Todorovic-------- 1172ef18fb4SDjordje Todorovic 1182ef18fb4SDjordje Todorovic:manpage:`llvm-dwarfdump(1)` 119