[LLVMdev] About Code coverage Algorithms.
bob.wilson at apple.com
Mon Oct 13 22:53:53 PDT 2014
> On Oct 13, 2014, at 10:09 PM, Umesh Kalappa <umesh.kalappa0 at gmail.com> wrote:
> Hi All,
> Good day for everyone .
> We benchmarked the code coverage algorithms like
> a)Optimal Edge Profiling
> (ftp://ftp.cs.wisc.edu/pub/techreports/1991/TR1031.pdf .) that are
> adopted by GCC and LLVM
> b)Dominator Leaf
> and i don't see the practical implementation of this.
> Goal is to reduce the instrumentation point and when we benchmarked
> both algorithms .The number of blocks that are required to instrument
> is less in option-b over option-a.
> Need some expert insights on this like why the option-b is not widely
> used over option-a.
Clang uses a different approach with its -fprofile-instr-generate option. The instrumentation is based on source-level control flow constructs. Intuitively, for well structured code, it should get similar efficiency to techniques like the option (b) cited above, but I’m not aware of any quantitative comparisons. If you can provide any data on that comparison for real-world code, it would be very interesting to see how we’re doing.
More information about the llvm-dev