LLVM
15.0.0git
include
llvm
Analysis
NoInferenceModelRunner.h
Go to the documentation of this file.
1
//===- NoInferenceModelRunner.h ---- noop ML model runner ------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
10
#ifndef LLVM_ANALYSIS_NOINFERENCEMODELRUNNER_H
11
#define LLVM_ANALYSIS_NOINFERENCEMODELRUNNER_H
12
13
#include "
llvm/Analysis/MLModelRunner.h
"
14
#include "
llvm/Analysis/TensorSpec.h
"
15
#include "llvm/Config/llvm-config.h"
16
namespace
llvm
{
17
/// A pseudo model runner. We use it to store feature values when collecting
18
/// logs for the default policy, in 'development' mode, but never ask it to
19
/// 'run'.
20
class
NoInferenceModelRunner
:
public
MLModelRunner
{
21
public
:
22
NoInferenceModelRunner
(
LLVMContext
&
Ctx
,
23
const
std::vector<TensorSpec> &Inputs);
24
25
static
bool
classof
(
const
MLModelRunner
*R) {
26
return
R->getKind() ==
MLModelRunner::Kind::NoOp
;
27
}
28
29
private
:
30
void
*evaluateUntyped()
override
{
31
llvm_unreachable
(
"We shouldn't call run on this model runner."
);
32
}
33
};
34
}
// namespace llvm
35
#endif // LLVM_ANALYSIS_NOINFERENCEMODELRUNNER_H
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:17
llvm::MLModelRunner::Kind::NoOp
@ NoOp
MLModelRunner.h
TensorSpec.h
llvm::NoInferenceModelRunner
A pseudo model runner.
Definition:
NoInferenceModelRunner.h:20
llvm::LLVMContext
This is an important class for using LLVM in a threaded context.
Definition:
LLVMContext.h:68
llvm::MLModelRunner::Ctx
LLVMContext & Ctx
Definition:
MLModelRunner.h:69
llvm_unreachable
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
Definition:
ErrorHandling.h:143
llvm::NoInferenceModelRunner::classof
static bool classof(const MLModelRunner *R)
Definition:
NoInferenceModelRunner.h:25
llvm::NoInferenceModelRunner::NoInferenceModelRunner
NoInferenceModelRunner(LLVMContext &Ctx, const std::vector< TensorSpec > &Inputs)
Definition:
NoInferenceModelRunner.cpp:17
llvm::MLModelRunner
MLModelRunner interface: abstraction of a mechanism for evaluating a tensorflow "saved model".
Definition:
MLModelRunner.h:24
Generated on Mon Jul 4 2022 06:50:55 for LLVM by
1.8.17