[clang] [compiler-rt] [llvm] [InstrProf] Single byte counters in coverage (PR #75425)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 14 17:56:41 PST 2024
================
@@ -821,15 +822,23 @@ void InstrProfRecord::merge(InstrProfRecord &Other, uint64_t Weight,
for (size_t I = 0, E = Other.Counts.size(); I < E; ++I) {
bool Overflowed;
- uint64_t Value =
- SaturatingMultiplyAdd(Other.Counts[I], Weight, Counts[I], &Overflowed);
- if (Value > getInstrMaxCountValue()) {
- Value = getInstrMaxCountValue();
- Overflowed = true;
+ uint64_t Value;
+ // When a profile has single byte coverage, use || to merge counters.
+ if (HasSingleByteCoverage)
+ Value = Other.Counts[I] || Counts[I];
----------------
gulfemsavrun wrote:
Ok, there is a valid use case then. So, I removed this code.
https://github.com/llvm/llvm-project/pull/75425
More information about the cfe-commits
mailing list