gcov is an "Edge Profiling with Edge Counters" application according to Optimally Profiling and Tracing Programs (1994). The minimum number of counters necessary is |E|-(|V|-1). The unmeasured edges form a spanning tree. Both GCC --coverage and clang -fprofile-generate leverage this optimization. This patch implements the optimization for clang --coverage. The produced .gcda files are much smaller now. |
||
|---|---|---|
| .. | ||
| atomic-counter.ll | ||
| exit-block.ll | ||
| function-numbering.ll | ||
| global-ctor.ll | ||
| linezero.ll | ||
| linkagename.ll | ||
| modules.ll | ||
| split-indirectbr-critical-edges.ll | ||
| three-element-mdnode.ll | ||
| version.ll | ||