#include "BenchmarkResult.h"
#include "BenchmarkRunner.h"
#include "Error.h"
#include "ValidationEvent.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/bit.h"
#include "llvm/ObjectYAML/YAML.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/FileOutputBuffer.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/raw_ostream.h"
static constexpr const char kIntegerPrefix[] = …;
static constexpr const char kDoublePrefix[] = …;
static constexpr const char kInvalidOperand[] = …;
namespace llvm {
namespace {
struct YamlContext { … };
}
namespace yaml {
static YamlContext &getTypedContext(void *Ctx) { … }
template <> struct SequenceElementTraits<MCInst> { … };
template <> struct ScalarTraits<MCInst> { … };
template <> struct SequenceElementTraits<exegesis::BenchmarkMeasure> { … };
template <>
struct CustomMappingTraits<std::map<exegesis::ValidationEvent, int64_t>> { … };
template <> struct MappingTraits<exegesis::BenchmarkMeasure> { … };
template <> struct ScalarEnumerationTraits<exegesis::Benchmark::ModeE> { … };
template <> struct SequenceElementTraits<exegesis::RegisterValue> { … };
template <> struct ScalarTraits<exegesis::RegisterValue> { … };
template <> struct MappingContextTraits<exegesis::BenchmarkKey, YamlContext> { … };
template <> struct MappingContextTraits<exegesis::Benchmark, YamlContext> { … };
template <> struct MappingTraits<exegesis::Benchmark::TripleAndCpu> { … };
}
namespace exegesis {
Expected<std::set<Benchmark::TripleAndCpu>>
Benchmark::readTriplesAndCpusFromYamls(MemoryBufferRef Buffer) { … }
Expected<Benchmark> Benchmark::readYaml(const LLVMState &State,
MemoryBufferRef Buffer) { … }
Expected<std::vector<Benchmark>> Benchmark::readYamls(const LLVMState &State,
MemoryBufferRef Buffer) { … }
Error Benchmark::writeYamlTo(const LLVMState &State, raw_ostream &OS) { … }
Error Benchmark::readYamlFrom(const LLVMState &State, StringRef InputContent) { … }
void PerInstructionStats::push(const BenchmarkMeasure &BM) { … }
bool operator==(const BenchmarkMeasure &A, const BenchmarkMeasure &B) { … }
}
}