diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2024-12-24 08:01:01 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-24 08:01:01 +0900 |
commit | 275a27703ec9100a4984d1d0a366d50d3dc887ea (patch) | |
tree | 359cbc12d326579c03124033d9ecd169ada6624e /llvm/lib/ProfileData/Coverage/CoverageMapping.cpp | |
parent | dbae7176a6ecf558dc5e92016cdda387c9d74d66 (diff) | |
download | llvm-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.cpp | 7 |
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) { |