[PATCH] D57982: [SanitizierCoverage] Avoid splitting critical edges when destination is a basic block containing unreachable
Matt Morehouse via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 27 10:27:52 PST 2019
morehouse added a comment.
In D57982#1412282 <https://reviews.llvm.org/D57982#1412282>, @craig.topper wrote:
> A block can end in unreachable, but still have reachable code at the beginning. If the block calls a function that is known not to return, the next instruction after the call will be UnreachableInst. For example https://godbolt.org/z/6AGtOf
Sure, but that block is generally still not useful to instrument (for fuzzing). When fuzzing, we save all inputs that either (1) increase coverage as measured by SanitizerCoverage, or (2) crash. So if case 2 happens every time we touch a block that ends in unreachable, there's no point in instrumenting it so that case 1 happens too.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57982/new/
https://reviews.llvm.org/D57982
More information about the llvm-commits
mailing list