summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2017-08-28 23:46:11 +0000
committerJustin Bogner <mail@justinbogner.com>2017-08-28 23:46:11 +0000
commit873a0746f124c47413407a7f767c906db17828db (patch)
treea5ace2ecaf9e2cbc41c723655663d36246af675f /llvm
parentbe757de2b6b077a23054f74db88a8b79bf815a51 (diff)
downloadbcm5719-llvm-873a0746f124c47413407a7f767c906db17828db.tar.gz
bcm5719-llvm-873a0746f124c47413407a7f767c906db17828db.zip
[sanitizer-coverage] Return the array from CreatePCArray. NFC
Be more consistent with CreateFunctionLocalArrayInSection in the API of CreatePCArray, and assign the member variable in the caller like we do for the guard and 8-bit counter arrays. This also tweaks the order of method declarations to match the order of definitions in the file. llvm-svn: 311955
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
index bac6b116e71..ffe35f57db7 100644
--- a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
+++ b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
@@ -204,8 +204,8 @@ private:
GlobalVariable *CreateFunctionLocalArrayInSection(size_t NumElements,
Function &F, Type *Ty,
const char *Section);
+ GlobalVariable *CreatePCArray(Function &F, ArrayRef<BasicBlock *> AllBlocks);
void CreateFunctionLocalArrays(Function &F, ArrayRef<BasicBlock *> AllBlocks);
- void CreatePCArray(Function &F, ArrayRef<BasicBlock *> AllBlocks);
void InjectCoverageAtBlock(Function &F, BasicBlock &BB, size_t Idx);
Function *CreateInitCallsForSections(Module &M, const char *InitFunctionName,
Type *Ty, const char *Section);
@@ -541,8 +541,9 @@ GlobalVariable *SanitizerCoverageModule::CreateFunctionLocalArrayInSection(
return Array;
}
-void SanitizerCoverageModule::CreatePCArray(Function &F,
- ArrayRef<BasicBlock *> AllBlocks) {
+GlobalVariable *
+SanitizerCoverageModule::CreatePCArray(Function &F,
+ ArrayRef<BasicBlock *> AllBlocks) {
size_t N = AllBlocks.size();
assert(N);
SmallVector<Constant *, 32> PCs;
@@ -559,15 +560,17 @@ void SanitizerCoverageModule::CreatePCArray(Function &F,
ConstantInt::get(IntptrTy, 0), IntptrPtrTy));
}
}
- FunctionPCsArray = CreateFunctionLocalArrayInSection(N * 2, F, IntptrPtrTy,
- SanCovPCsSectionName);
- FunctionPCsArray->setInitializer(
+ auto *PCArray = CreateFunctionLocalArrayInSection(N * 2, F, IntptrPtrTy,
+ SanCovPCsSectionName);
+ PCArray->setInitializer(
ConstantArray::get(ArrayType::get(IntptrPtrTy, N * 2), PCs));
- FunctionPCsArray->setConstant(true);
+ PCArray->setConstant(true);
// We don't reference the PCs array in any of our runtime functions, so we
// need to prevent it from being dead stripped.
- appendToUsed(*F.getParent(), {FunctionPCsArray});
+ appendToUsed(*F.getParent(), {PCArray});
+
+ return PCArray;
}
void SanitizerCoverageModule::CreateFunctionLocalArrays(
@@ -579,7 +582,7 @@ void SanitizerCoverageModule::CreateFunctionLocalArrays(
Function8bitCounterArray = CreateFunctionLocalArrayInSection(
AllBlocks.size(), F, Int8Ty, SanCovCountersSectionName);
if (Options.PCTable)
- CreatePCArray(F, AllBlocks);
+ FunctionPCsArray = CreatePCArray(F, AllBlocks);
}
bool SanitizerCoverageModule::InjectCoverage(Function &F,
OpenPOWER on IntegriCloud