#include "LatencyBenchmarkRunner.h"
#include "BenchmarkRunner.h"
#include "Target.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/Error.h"
#include <algorithm>
#include <cmath>
#define DEBUG_TYPE …
namespace llvm {
namespace exegesis {
LatencyBenchmarkRunner::LatencyBenchmarkRunner(
const LLVMState &State, Benchmark::ModeE Mode,
BenchmarkPhaseSelectorE BenchmarkPhaseSelector,
Benchmark::ResultAggregationModeE ResultAgg, ExecutionModeE ExecutionMode,
ArrayRef<ValidationEvent> ValCounters, unsigned BenchmarkRepeatCount)
: … { … }
LatencyBenchmarkRunner::~LatencyBenchmarkRunner() = default;
static double computeVariance(const SmallVector<int64_t, 4> &Values) { … }
static int64_t findMin(const SmallVector<int64_t, 4> &Values) { … }
static int64_t findMax(const SmallVector<int64_t, 4> &Values) { … }
static int64_t findMean(const SmallVector<int64_t, 4> &Values) { … }
Expected<std::vector<BenchmarkMeasure>> LatencyBenchmarkRunner::runMeasurements(
const FunctionExecutor &Executor) const { … }
}
}