24 #ifndef TVM_RELAY_FEATURE_H_
25 #define TVM_RELAY_FEATURE_H_
100 template <
typename T>
106 template <
typename T>
112 template <
typename T>
133 std::bitset<feature_count> bs_;
135 explicit FeatureSet(
const std::bitset<feature_count>& bs) : bs_(bs) {}
Managed reference class to IRModuleNode.
Definition: module.h:348
Container of constant int that adds more constructors.
Definition: expr.h:622
Managed reference to RelayExprNode.
Definition: expr.h:433
A finite set of Feature.
Definition: feature.h:64
FeatureSet(const FeatureSet &)=default
FeatureSet(const tvm::Array< tvm::Integer > &ft)
Definition: feature.h:69
bool is_subset_of(const FeatureSet &rhs) const
Is this a subset of rhs?
Definition: feature.h:125
static FeatureSet No()
The empty set. Contain no Feature.
Definition: feature.h:90
FeatureSet & operator+=(const T &rhs)
Definition: feature.h:95
FeatureSet(Feature ft)
A singleton set containing a single Feature.
Definition: feature.h:68
static FeatureSet All()
A set that contain all the Feature.
Definition: feature.h:84
FeatureSet operator+(const T &rhs) const
Set union.
Definition: feature.h:101
FeatureSet operator-(const T &rhs) const
Set difference.
Definition: feature.h:113
std::string ToString() const
return a string representation.
FeatureSet & operator-=(const T &rhs)
Definition: feature.h:107
Array, container representing a contiguous sequence of ObjectRefs.
Definition: array.h:289
IRModule that holds the functions and type definitions.
FeatureSet DetectFeature(const RelayExpr &expr)
Calculate the feature of the program.
void CheckFeature(const RelayExpr &expr, const FeatureSet &fs)
Check the feature of the program.
Feature
Different kinds of relay feature a program might use.
Definition: feature.h:37
@ fLet
Definition: feature.h:46
@ fConstant
Definition: feature.h:40
@ fFunction
Definition: feature.h:43
@ fVar
Definition: feature.h:38
@ fRefCreate
Definition: feature.h:48
@ fRefWrite
Definition: feature.h:50
@ fTupleGetItem
Definition: feature.h:42
@ fIf
Definition: feature.h:47
@ fMatch
Definition: feature.h:52
@ fCall
Definition: feature.h:45
@ fRefRead
Definition: feature.h:49
@ fTuple
Definition: feature.h:41
@ fGraph
Whether any non-atom fragment of the program is shared, making the program a graph.
Definition: feature.h:54
@ fOp
Definition: feature.h:44
@ fGlobalVar
Definition: feature.h:39
@ fLetRec
Whether there is local fixpoint in the program.
Definition: feature.h:56
@ fConstructor
Definition: feature.h:51
constexpr size_t feature_count
Definition: feature.h:59
tvm::PrimExpr mod(const tvm::PrimExpr &a, const tvm::PrimExpr &b)
Definition: broadcast.h:290
runtime implementation for LibTorch/TorchScript.
Definition: analyzer.h:36
PrimExpr ret(PrimExpr value, Span span=Span())
Return the value.
Relay expression language.