Files
clang-p2996/llvm/test/Transforms/PGOProfile/Inputs/bfi_verification.proftext
Matthias Braun e3cf80c5c1 BlockFrequencyInfoImpl: Avoid big numbers, increase precision for small spreads
BlockFrequencyInfo calculates block frequencies as Scaled64 numbers but as a last step converts them to unsigned 64bit integers (`BlockFrequency`). This improves the factors picked for this conversion so that:

* Avoid big numbers close to UINT64_MAX to avoid users overflowing/saturating when adding multiply frequencies together or when multiplying with integers. This leaves the topmost 10 bits unused to allow for some room.
* Spread the difference between hottest/coldest block as much as possible to increase precision.
* If the hot/cold spread cannot be represented loose precision at the lower end, but keep the frequencies at the upper end for hot blocks differentiable.
2023-10-24 20:27:39 -07:00

17 lines
201 B
Plaintext

# IR level Instrumentation Flag
:ir
sort_basket
# Func Hash:
948827210500800754
# Num Counters:
7
# Counter Values:
4101787900000000
77
3963774900000000
3274370300000000
1333888800000
2
1333888789000