[PATCH] D31266: [sancov] fixing too aggressive instrumentation elimination

Kostya Serebryany via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 19 11:10:07 PDT 2017


kcc added a comment.

In https://reviews.llvm.org/D31266#759656, @george.karpenkov wrote:

> > The numbers I remember were like DOM gives 30% saving, PDOM gives 20% more, which is a lot.
>
> But how would we know whether those numbers are good?


Good question... 
I was thinking about using libFuzzer itself to decide. 
E.g. take a large corpus for some target (sqlite would be fine) and minimize it w/ and w/o optimization.

> E.g. is it saving 20% of unneeded instrumentation, or missing 20% of code which actually needs to be instrumented?

My expectation is most of those 20% are really redundant. 
But I did not invest much time into this problem.

> LibFuzzer would find lots of bugs regardless, right?

Maybe not. When Mike implemented this optimization I compared a couple of targets and did not see any difference.

> With programs that large it would be hard to simply look at IR, and check whether instrumentation is spurious.




https://reviews.llvm.org/D31266





More information about the llvm-commits mailing list