diff options
author | Kostya Serebryany <kcc@google.com> | 2018-05-11 01:09:39 +0000 |
---|---|---|
committer | Kostya Serebryany <kcc@google.com> | 2018-05-11 01:09:39 +0000 |
commit | a2759327fdc80ab51e6706e0e3a92d0c23a066ca (patch) | |
tree | 6d27a027efd76ab4fc656f7c5fcc93d3b3dd57dd /llvm/lib | |
parent | a092e184cf955448d6015692ee9d9fa8dea6a006 (diff) | |
download | bcm5719-llvm-a2759327fdc80ab51e6706e0e3a92d0c23a066ca.tar.gz bcm5719-llvm-a2759327fdc80ab51e6706e0e3a92d0c23a066ca.zip |
[sanitizer-coverage] don't instrument a function if it's entry block ends with 'unreachable'
llvm-svn: 332072
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp index 4f0abc6bb78..a19cd6d2332 100644 --- a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp +++ b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp @@ -480,6 +480,8 @@ bool SanitizerCoverageModule::runOnFunction(Function &F) { if (F.getName() == "__local_stdio_printf_options" || F.getName() == "__local_stdio_scanf_options") return false; + if (isa<UnreachableInst>(F.getEntryBlock().getTerminator())) + return false; // Don't instrument functions using SEH for now. Splitting basic blocks like // we do for coverage breaks WinEHPrepare. // FIXME: Remove this when SEH no longer uses landingpad pattern matching. |