tvm
|
A pattern language for matching dataflow properties. More...
#include <tvm/ir/expr.h>
#include <tvm/relax/expr.h>
#include <tvm/relax/type.h>
#include <tvm/runtime/container/array.h>
#include <tvm/runtime/container/optional.h>
#include <tvm/support/with.h>
#include <cstdint>
#include <functional>
#include <map>
#include <memory>
#include <string>
#include <tuple>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
class | tvm::relax::DFPatternNode |
Base type of all dataflow patterns. More... | |
class | tvm::relax::DFPattern |
Managed reference to dataflow patterns. More... | |
struct | tvm::relax::PairCons |
Constraint of a DFPattern edge (producer -> consumer) in graph-level matching. More... | |
class | tvm::relax::DFConstraintNode |
Additional constraints on the graph. More... | |
class | tvm::relax::DFConstraint |
class | tvm::relax::PatternSeqNode |
A sequence of DFPatterns that the previous DFPattern is connected to the next one. More... | |
class | tvm::relax::PatternSeq |
Managed reference to pattern sequences. More... | |
class | tvm::relax::PatternContextNode |
A context to manage the graph-level pattern matching. More... | |
class | tvm::relax::PatternContext |
Managed reference to a pattern context. More... | |
class | tvm::relax::ExprPatternNode |
Pattern for Relax Expression. More... | |
class | tvm::relax::ExprPattern |
Managed reference to an ExprPattern. More... | |
class | tvm::relax::VarPatternNode |
A Pattern to Match a Relax Variable. More... | |
class | tvm::relax::VarPattern |
Managed reference to a VarPattern. More... | |
class | tvm::relax::DataflowVarPatternNode |
A Pattern to Match a Relax Dataflow Variable. More... | |
class | tvm::relax::DataflowVarPattern |
Managed reference to a DataflowVarPattern. More... | |
class | tvm::relax::GlobalVarPatternNode |
A Pattern to Match a Relax Global Variable. More... | |
class | tvm::relax::GlobalVarPattern |
Managed reference to a GlobalVarPattern. More... | |
class | tvm::relax::ConstantPatternNode |
A Pattern to Match a Relax Constant. More... | |
class | tvm::relax::ConstantPattern |
Managed reference to a ConstantPattern. More... | |
class | tvm::relax::CallPatternNode |
A pattern to match a callable node in Relax. More... | |
class | tvm::relax::CallPattern |
class | tvm::relax::PrimArrPatternNode |
A pattern to match an array of PrimExpr. More... | |
class | tvm::relax::PrimArrPattern |
Managed reference to a PrimArrPattern. More... | |
class | tvm::relax::FunctionPatternNode |
A pattern to match a Relax Function. More... | |
class | tvm::relax::FunctionPattern |
Managed reference to FunctionPatternNode. More... | |
class | tvm::relax::TuplePatternNode |
Pattern to match a tuple of ordered expressions. More... | |
class | tvm::relax::TuplePattern |
Managed reference to TuplePatternNode. More... | |
class | tvm::relax::UnorderedTuplePatternNode |
A pattern to match multiple expressions unorderedly. More... | |
class | tvm::relax::UnorderedTuplePattern |
Managed reference to UnorderedTuplePatternNode. More... | |
class | tvm::relax::TupleGetItemPatternNode |
A pattern to match n'th indexing to a tuple. More... | |
class | tvm::relax::TupleGetItemPattern |
Managed reference to TupleGetItemPatternNode. More... | |
class | tvm::relax::AndPatternNode |
Match a conjunction of other patterns. More... | |
class | tvm::relax::AndPattern |
Managed reference to AndPatternNode. More... | |
class | tvm::relax::OrPatternNode |
Match a disjunction of other patterns. More... | |
class | tvm::relax::OrPattern |
Managed reference to OrPatternNode. More... | |
class | tvm::relax::NotPatternNode |
Pattern for rejecting a certain pattern. More... | |
class | tvm::relax::NotPattern |
Managed reference to NotPatternNode. More... | |
class | tvm::relax::WildcardPatternNode |
Wildcard Pattern is a pattern that can match anything. More... | |
class | tvm::relax::WildcardPattern |
Managed reference to WildcardPatternNode. More... | |
class | tvm::relax::TypePatternNode |
Pattern for matching a certain type. More... | |
class | tvm::relax::TypePattern |
Managed reference to TypePatternNode. More... | |
class | tvm::relax::StructInfoPatternNode |
Pattern for matching a certain struct info. More... | |
class | tvm::relax::StructInfoPattern |
class | tvm::relax::ShapePatternNode |
A pattern that asserting a root pattern has a certain shape. More... | |
class | tvm::relax::ShapePattern |
Managed reference to ShapePatternNode. More... | |
class | tvm::relax::SameShapeConstraintNode |
A pattern that asserting multiple root patterns have the same shape. More... | |
class | tvm::relax::SameShapeConstraint |
Managed reference to SameShapePatternNode. More... | |
class | tvm::relax::DataTypePatternNode |
A pattern that asserting a root pattern has a certain data type. More... | |
class | tvm::relax::DataTypePattern |
Managed reference to DataTypePatternNode. More... | |
class | tvm::relax::AttrPatternNode |
A pattern that asserting a root pattern has certain attributes. More... | |
class | tvm::relax::AttrPattern |
Managed reference to AttrPatternNode. More... | |
class | tvm::relax::ExternFuncPatternNode |
A pattern of external function. More... | |
class | tvm::relax::ExternFuncPattern |
Managed reference to ExternFuncPatternNode. More... | |
Namespaces | |
tvm | |
runtime implementation for LibTorch/TorchScript. | |
tvm::arith | |
namespace of arithmetic analysis. | |
tvm::relax | |
Functions | |
PatternSeq | tvm::relax::UsedBy (const PatternSeq &lhs, const PatternSeq &rhs, int index=-1) |
Create used-by relationship between lhs[-1] and rhs[0], with [*lhs, *rhs] returned. More... | |
PatternSeq | tvm::relax::operator^ (const PatternSeq &lhs, const PatternSeq &rhs) |
Syntax sugar of UsedBy(lhs, rhs, -1). More... | |
PatternSeq | tvm::relax::OnlyUsedBy (const PatternSeq &lhs, const PatternSeq &rhs, int index=-1) |
Create only-used-by relationship between lhs[-1] and rhs[0], with [*lhs, *rhs] returned. More... | |
PatternSeq | tvm::relax::operator>> (const PatternSeq &lhs, const PatternSeq &rhs) |
Syntax sugar of OnlyUsedBy(lhs, rhs, -1). More... | |
VarPattern | tvm::relax::IsVar (const String &name) |
Syntatic Sugar for creating a VarPattern with a name. More... | |
ConstantPattern | tvm::relax::IsConst () |
Syntatic Sugar for creating a ConstantPattern. More... | |
WildcardPattern | tvm::relax::Wildcard () |
Syntatic Sugar for creating a WildcardPattern. More... | |
ExprPattern | tvm::relax::IsExpr (const Expr &expr) |
Syntatic Sugar for creating a ExprPattern. More... | |
ExprPattern | tvm::relax::IsOp (const String &op_name) |
Syntatic Sugar for creating a ExprPattern base on an Op. More... | |
CallPattern | tvm::relax::IsCallTIR (const String &name, Optional< TuplePattern > args=NullOpt) |
Syntatic Sugar for call_tir (return a tensor) More... | |
CallPattern | tvm::relax::IsCallTIR (const String &name, TuplePattern var_args) |
Syntatic Sugar for call_tir (return a tuple of tensor) More... | |
CallPattern | tvm::relax::IsCallDPSPacked (const String &name, Optional< TuplePattern > args=NullOpt) |
Syntatic Sugar for call_dps_packed (return a tensor) More... | |
CallPattern | tvm::relax::IsCallDPSPacked (const String &name, TuplePattern var_args) |
Syntatic Sugar for call_dps_packed (return a tuple of tensor) More... | |
DFPattern | tvm::relax::IsTuple (const Array< DFPattern > &fields, bool unordered=false) |
Syntatic Sugar for creating TuplePattern or UnorderedTuplePattern (unordered=true) More... | |
TupleGetItemPattern | tvm::relax::IsTupleGetItem (const DFPattern tuple, int index=-1) |
Syntatic Sugar for creating a TupleGetItemPattern. More... | |
A pattern language for matching dataflow properties.