[llvm-dwarfdump][Statistics] Unify coverage statistic computation
authorKristina Bessonova <kbessonova@accesssoftek.com>
Tue, 19 Nov 2019 10:28:21 +0000 (13:28 +0300)
committerKristina Bessonova <kbessonova@accesssoftek.com>
Sun, 8 Dec 2019 12:46:49 +0000 (15:46 +0300)
commit68f464ac2ef5de8cb2e8beaeee43c435c536539e
tree208497fed8cee60aebac645bf2c0cafde70a63e2
parent792fab343ba9029dd155f3ae5da30e12ed518c8a
[llvm-dwarfdump][Statistics] Unify coverage statistic computation

Summary:
The patch removes OffsetToFirstDefinition in the 'scope bytes total'
statistic computation. Thus it unifies the way the scope and the coverage
buckets are computed. The rationals behind that are the following:

1. OffsetToFirstDefinition was used to calculate the variable's life range.
However, there is no simple way to do it accurately, so the scope calculated
this way might be misleading. See D69027 for more details on the subject.
2. Both 'scope bytes total' and coverage buckets seem to be intended
to represent the same data in different ways. Otherwise, the statistics
might be controversial and confusing.

Note that the approach gives up a thorough evaluation of debug information
completeness (i.e. coverage buckets by themselves doesn't tell how good
the debug information is). Only changes in coverage over time make
a 'physical' sense.

Reviewers: djtodoro, aprantl, vsk, dblaikie, avl

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70548
llvm/test/tools/llvm-dwarfdump/X86/locstats.ll
llvm/test/tools/llvm-dwarfdump/X86/statistics-base-address.s
llvm/test/tools/llvm-dwarfdump/X86/statistics-dwo.test
llvm/test/tools/llvm-dwarfdump/X86/statistics-v3.test
llvm/test/tools/llvm-dwarfdump/X86/statistics.ll
llvm/tools/llvm-dwarfdump/Statistics.cpp
llvm/utils/llvm-locstats/llvm-locstats.py