aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2024-12-24 08:01:01 +0900
committerGitHub <noreply@github.com>2024-12-24 08:01:01 +0900
commit275a27703ec9100a4984d1d0a366d50d3dc887ea (patch)
tree359cbc12d326579c03124033d9ecd169ada6624e /llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
parentdbae7176a6ecf558dc5e92016cdda387c9d74d66 (diff)
downloadllvm-275a27703ec9100a4984d1d0a366d50d3dc887ea.zip
llvm-275a27703ec9100a4984d1d0a366d50d3dc887ea.tar.gz
llvm-275a27703ec9100a4984d1d0a366d50d3dc887ea.tar.bz2
[Coverage][Single] Round Counters to boolean after evaluation (#110972)
Rounding in merging segments has been done after #75425. Depends on: #113114
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMapping.cpp')
-rw-r--r--llvm/lib/ProfileData/Coverage/CoverageMapping.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
index d514485..87d8bb1 100644
--- a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
+++ b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
@@ -805,6 +805,7 @@ Error CoverageMapping::loadFunctionRecord(
else
OrigFuncName = getFuncNameWithoutPrefix(OrigFuncName, Record.Filenames[0]);
+ bool SingleByteCoverage = ProfileReader.hasSingleByteCoverage();
CounterMappingContext Ctx(Record.Expressions);
std::vector<uint64_t> Counts;
@@ -870,8 +871,10 @@ Error CoverageMapping::loadFunctionRecord(
consumeError(std::move(E));
return Error::success();
}
- Function.pushRegion(Region, *ExecutionCount, *AltExecutionCount,
- ProfileReader.hasSingleByteCoverage());
+ Function.pushRegion(
+ Region, (SingleByteCoverage && *ExecutionCount ? 1 : *ExecutionCount),
+ (SingleByteCoverage && *AltExecutionCount ? 1 : *AltExecutionCount),
+ SingleByteCoverage);
// Record ExpansionRegion.
if (Region.Kind == CounterMappingRegion::ExpansionRegion) {