diff options
author | George Karpenkov <ekarpenkov@apple.com> | 2017-05-23 21:58:54 +0000 |
---|---|---|
committer | George Karpenkov <ekarpenkov@apple.com> | 2017-05-23 21:58:54 +0000 |
commit | 9017ca290aba42802a42b5d5eb4e04b754518df9 (patch) | |
tree | f38db0568802808cf7104a42822e7687e6b74cab /clang/lib/AST/DeclBase.cpp | |
parent | 8c605c0edaa909f44e6e4c753eb630035de61857 (diff) | |
download | bcm5719-llvm-9017ca290aba42802a42b5d5eb4e04b754518df9.tar.gz bcm5719-llvm-9017ca290aba42802a42b5d5eb4e04b754518df9.zip |
Disable coverage opt-out for strong postdominator blocks.
Coverage instrumentation has an optimization not to instrument extra
blocks, if the pass is already "accounted for" by a
successor/predecessor basic block.
However (https://github.com/google/sanitizers/issues/783) this
reasoning may become circular, which stops valid paths from having
coverage.
In the worst case this can cause fuzzing to stop working entirely.
This change simplifies logic to something which trivially can not have
such circular reasoning, as losing valid paths does not seem like a
good trade-off for a ~15% decrease in the # of instrumented basic blocks.
llvm-svn: 303698
Diffstat (limited to 'clang/lib/AST/DeclBase.cpp')
0 files changed, 0 insertions, 0 deletions