diff options
Diffstat (limited to 'llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp')
-rw-r--r-- | llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp index c6f0d17f8fe..fdf265143fd 100644 --- a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp +++ b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp @@ -557,6 +557,10 @@ void SanitizerCoverageModule::CreatePCArray(Function &F, FunctionPCsArray->setInitializer( ConstantArray::get(ArrayType::get(Int8PtrTy, N), PCs)); FunctionPCsArray->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}); } void SanitizerCoverageModule::CreateFunctionLocalArrays( |