aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenPGO.cpp
diff options
context:
space:
mode:
authorManuelvOK <info@manuel-thieme.de>2024-01-23 06:41:49 +0100
committerNAKAMURA Takumi <geek4civic@gmail.com>2024-02-02 18:04:24 +0900
commitc07fcd45f140bb95fb0f1ed10468db2bb6b1a77b (patch)
treeab46555184b4941c9094de9ef8c96abcc09fd1a8 /clang/lib/CodeGen/CodeGenPGO.cpp
parenta792cb6e3e03aff22dabb6cc94db68d15d953a55 (diff)
downloadllvm-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>
Diffstat (limited to 'clang/lib/CodeGen/CodeGenPGO.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenPGO.cpp4
1 files changed, 3 insertions, 1 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) {