diff options
author | ManuelvOK <info@manuel-thieme.de> | 2024-01-23 06:41:49 +0100 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2024-02-02 18:04:24 +0900 |
commit | c07fcd45f140bb95fb0f1ed10468db2bb6b1a77b (patch) | |
tree | ab46555184b4941c9094de9ef8c96abcc09fd1a8 | |
parent | a792cb6e3e03aff22dabb6cc94db68d15d953a55 (diff) | |
download | llvm-c07fcd45f140bb95fb0f1ed10468db2bb6b1a77b.zip llvm-c07fcd45f140bb95fb0f1ed10468db2bb6b1a77b.tar.gz llvm-c07fcd45f140bb95fb0f1ed10468db2bb6b1a77b.tar.bz2 |
[Coverage] Map regions from system headers (#76950)
In 2155195131a57f2f01e7cfabb85bb027518c2dc6, the
"system-headers-coverage" option has been added but not used in all
necessary places.
This is the recommit since it has been reverted in
faef68bca852d08511ea0311d8a0d221cb202e73
Potential reviewers: @gulfemsavrun @petrhosek
Co-authored-by: Manuel Kalettka <manuel.kalettka@kernkonzept.com>
-rw-r--r-- | clang/lib/CodeGen/CodeGenPGO.cpp | 4 | ||||
-rw-r--r-- | clang/lib/CodeGen/CoverageMappingGen.cpp | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CodeGenPGO.cpp b/clang/lib/CodeGen/CodeGenPGO.cpp index d68844d..5d7c384 100644 --- a/clang/lib/CodeGen/CodeGenPGO.cpp +++ b/clang/lib/CodeGen/CodeGenPGO.cpp @@ -28,6 +28,8 @@ static llvm::cl::opt<bool> llvm::cl::desc("Enable value profiling"), llvm::cl::Hidden, llvm::cl::init(false)); +extern llvm::cl::opt<bool> SystemHeadersCoverage; + using namespace clang; using namespace CodeGen; @@ -1022,7 +1024,7 @@ bool CodeGenPGO::skipRegionMappingForDecl(const Decl *D) { // Don't map the functions in system headers. const auto &SM = CGM.getContext().getSourceManager(); auto Loc = D->getBody()->getBeginLoc(); - return SM.isInSystemHeader(Loc); + return !SystemHeadersCoverage && SM.isInSystemHeader(Loc); } void CodeGenPGO::emitCounterRegionMapping(const Decl *D) { diff --git a/clang/lib/CodeGen/CoverageMappingGen.cpp b/clang/lib/CodeGen/CoverageMappingGen.cpp index f7f7354..0c43317 100644 --- a/clang/lib/CodeGen/CoverageMappingGen.cpp +++ b/clang/lib/CodeGen/CoverageMappingGen.cpp @@ -37,7 +37,7 @@ static llvm::cl::opt<bool> EmptyLineCommentCoverage( "disable it on test)"), llvm::cl::init(true), llvm::cl::Hidden); -static llvm::cl::opt<bool> SystemHeadersCoverage( +llvm::cl::opt<bool> SystemHeadersCoverage( "system-headers-coverage", llvm::cl::desc("Enable collecting coverage from system headers"), llvm::cl::init(false), llvm::cl::Hidden); |