summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2017-07-25 02:07:38 +0000
committerKostya Serebryany <kcc@google.com>2017-07-25 02:07:38 +0000
commitc485ca05ac279b7bced1caa77f05666090af2ad6 (patch)
tree3c747f56ce1fbf7b4a667996b5a7a84218614951
parent2fdfab2a0c26c5cd747d5c830942ba0258f4a789 (diff)
downloadbcm5719-llvm-c485ca05ac279b7bced1caa77f05666090af2ad6.tar.gz
bcm5719-llvm-c485ca05ac279b7bced1caa77f05666090af2ad6.zip
[sanitizer-coverage] simplify the code, NFC
llvm-svn: 308944
-rw-r--r--llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp22
1 files changed, 8 insertions, 14 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
index 06fe0759837..0b899eb273b 100644
--- a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
+++ b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
@@ -362,6 +362,10 @@ static bool shouldInstrumentBlock(const Function &F, const BasicBlock *BB,
if (Options.NoPrune || &F.getEntryBlock() == BB)
return true;
+ if (Options.CoverageType == SanitizerCoverageOptions::SCK_Function &&
+ &F.getEntryBlock() != BB)
+ return false;
+
// Do not instrument full dominators, or full post-dominators with multiple
// predecessors.
return !isFullDominator(BB, DT)
@@ -459,20 +463,10 @@ void SanitizerCoverageModule::CreateFunctionLocalArrays(size_t NumGuards,
bool SanitizerCoverageModule::InjectCoverage(Function &F,
ArrayRef<BasicBlock *> AllBlocks) {
if (AllBlocks.empty()) return false;
- switch (Options.CoverageType) {
- case SanitizerCoverageOptions::SCK_None:
- return false;
- case SanitizerCoverageOptions::SCK_Function:
- CreateFunctionLocalArrays(1, F);
- InjectCoverageAtBlock(F, F.getEntryBlock(), 0);
- return true;
- default: {
- CreateFunctionLocalArrays(AllBlocks.size(), F);
- for (size_t i = 0, N = AllBlocks.size(); i < N; i++)
- InjectCoverageAtBlock(F, *AllBlocks[i], i);
- return true;
- }
- }
+ CreateFunctionLocalArrays(AllBlocks.size(), F);
+ for (size_t i = 0, N = AllBlocks.size(); i < N; i++)
+ InjectCoverageAtBlock(F, *AllBlocks[i], i);
+ return true;
}
// On every indirect call we call a run-time function
OpenPOWER on IntegriCloud