[all-commits] [llvm/llvm-project] 16b238: [llvm-exegesis] Fix snippet value scaling (#77226)
Aiden Grossman via All-commits
all-commits at lists.llvm.org
Tue Jan 16 11:49:29 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 16b238798250cb16ac78c710958b353cb45b11a0
https://github.com/llvm/llvm-project/commit/16b238798250cb16ac78c710958b353cb45b11a0
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-16 (Tue, 16 Jan 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
[llvm-exegesis] Fix snippet value scaling (#77226)
Currently, BenchmarkRunner scales the per snippet counters by
multiplying the raw counter values by the number of instructions (casted
to a double) divided by the minimum number of instructions. This is
incorrect for the loop repetition mode for snippets that don't fit a
whole number of times into the minimum instruction count. For example,
with 3 instructions in the snippet and the minimum number of
instructions set to 4, the loop repetitor will execute a total of six
instructions, but BenchmarkRunner will scale the raw count by 3/4
instead of 3/6=1/2. This will also be incorrect for the duplicate
snippet repetitor after #77224.
This patch fixes this behavior by dividing the raw count by the ceiling
of the number of repetitions divided by the instruction count.
More information about the All-commits
mailing list