llvm/llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp

//===-- LatencyBenchmarkRunner.cpp ------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#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 {}

} // namespace exegesis
} // namespace llvm