tvm
Classes | Namespaces | Typedefs | Functions | Variables
expr.h File Reference
#include <tvm/ir/expr.h>
#include <tvm/ir/source_map.h>
#include <tvm/node/node.h>
#include <tvm/relax/type.h>
#include <tvm/runtime/container/array.h>
#include <tvm/runtime/container/map.h>
#include <tvm/runtime/object.h>
#include <tvm/tir/expr.h>
#include <tvm/tir/op.h>
#include <functional>
Include dependency graph for expr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tvm::relax::IdNode
 The unique identifier of variables. More...
 
class  tvm::relax::Id
 
class  tvm::relax::StructInfoNode
 Base type of all structure information. More...
 
class  tvm::relax::StructInfo
 Managed reference to StructInfoNode. More...
 
class  tvm::relax::CallNode
 Call corresponds to callable invocation. Corresponds to operation in computational graph terminology. More...
 
class  tvm::relax::Call
 
class  tvm::relax::TupleNode
 Tuple container. More...
 
class  tvm::relax::Tuple
 
class  tvm::relax::TupleGetItemNode
 Get index-th field out of a tuple. More...
 
class  tvm::relax::TupleGetItem
 
class  tvm::relax::LeafExprNode
 Base type of all (non-function) leaf Exprs. More...
 
class  tvm::relax::LeafExpr
 Managed reference to BaseExprNode. More...
 
class  tvm::relax::ShapeExprNode
 A shape expression which allows users to construct a shape containing PrimExpr. More...
 
class  tvm::relax::ShapeExpr
 
class  tvm::relax::VarNode
 The variable class for all Relax bindings. More...
 
class  tvm::relax::Var
 
class  tvm::relax::DataflowVarNode
 A sub-type of the variable node used to mark dataflow variables from normal visible "function local" bindings. More...
 
class  tvm::relax::DataflowVar
 
class  tvm::relax::ConstantNode
 Constant tensor. More...
 
class  tvm::relax::Constant
 
class  tvm::relax::PrimValueNode
 PrimValue. More...
 
class  tvm::relax::PrimValue
 Managed reference to PrimValueNode. More...
 
class  tvm::relax::StringImmNode
 Represent a string literal constant. More...
 
class  tvm::relax::StringImm
 Managed reference to StringImm. More...
 
class  tvm::relax::DataTypeImmNode
 Represent a data type constant. More...
 
class  tvm::relax::DataTypeImm
 Managed reference to DataTypeImm. More...
 
class  tvm::relax::BindingNode
 The base class of a variable binding in Relax. More...
 
class  tvm::relax::Binding
 
class  tvm::relax::MatchCastNode
 Runtime-match the value to the struct info. More...
 
class  tvm::relax::MatchCast
 Managed reference to MatchCastNode. More...
 
class  tvm::relax::VarBindingNode
 
class  tvm::relax::VarBinding
 
class  tvm::relax::BindingBlockNode
 
class  tvm::relax::BindingBlock
 
class  tvm::relax::DataflowBlockNode
 
class  tvm::relax::DataflowBlock
 
class  tvm::relax::SeqExprNode
 A sequence of blocks followed by an expression. More...
 
class  tvm::relax::SeqExpr
 
class  tvm::relax::IfNode
 Condition expression. More...
 
class  tvm::relax::If
 
class  tvm::relax::FunctionNode
 A Relax function. More...
 
class  tvm::relax::Function
 
class  tvm::relax::ExternFuncNode
 The extern function, which can represent packed function. More...
 
class  tvm::relax::ExternFunc
 

Namespaces

 tvm
 runtime implementation for LibTorch/TorchScript.
 
 tvm::relax
 
 tvm::relax::attr
 

Typedefs

using tvm::relax::Expr = RelayExpr
 
using tvm::relax::ExprNode = RelayExprNode
 

Functions

Call tvm::relax::WithFields (Call call, Optional< Expr > opt_op=Optional< Expr >(), Optional< Array< Expr >> opt_args=Optional< Array< Expr >>(), Optional< Attrs > opt_attrs=Optional< Attrs >(), Optional< Array< StructInfo >> opt_sinfo_args=Optional< Array< StructInfo >>(), Optional< Span > opt_span=Optional< Span >())
 Returns call with the given properties. A null property denotes 'no change'. Returns call if all properties are unchanged. Otherwise, returns a copy with the new fields. More...
 
Tuple tvm::relax::WithFields (Tuple tuple, Optional< Array< Expr >> opt_fields=Optional< Array< Expr >>(), Optional< Span > opt_span=Optional< Span >())
 Returns tuple with the given properties. A null property denotes 'no change'. Returns tuple if all properties are unchanged. Otherwise, returns a copy with the new fields. More...
 
TupleGetItem tvm::relax::WithFields (TupleGetItem tuple_get_item, Optional< Expr > opt_tuple=Optional< Expr >(), Optional< Integer > opt_index=Optional< Integer >(), Optional< Span > opt_span=Optional< Span >())
 Returns tuple_get_item with the given properties. A null property denotes 'no change'. Returns tuple_get_item if all properties are unchanged. Otherwise, returns a copy with the new fields. More...
 
If tvm::relax::WithFields (If if_expr, Optional< Expr > opt_cond=Optional< Expr >(), Optional< Expr > opt_true_branch=Optional< Expr >(), Optional< Expr > opt_false_branch=Optional< Expr >(), Optional< Span > opt_span=Optional< Span >())
 Returns if_expr with the given properties. A null property denotes 'no change'. Returns if_expr if all properties are unchanged. Otherwise, returns a copy with the new fields. More...
 
Expr tvm::relax::GetShapeOf (const Expr &expr)
 Get the shape of Expr. More...
 

Variables

constexpr const char * tvm::relax::attr::kPrimitive = "Primitive"
 Mark the function as a primitive function. More...
 
constexpr const char * tvm::relax::attr::kCodegen = "Codegen"
 Indicate the codegen that should be used for building this function. When this is unset or set to "default", the default compilation pipeline will be used. More...
 
constexpr const char * tvm::relax::attr::kComposite = "Composite"
 Treat the function as a composite operator. More...
 
constexpr const char * tvm::relax::attr::kPartitionedFromPattern = "PartitionedFromPattern"
 Indicate the function was created by the Pattern Partitioning Pass. More...
 
constexpr const char * tvm::relax::attr::kWorkspaceSize = "WorkspaceSize"
 The required workspace for an external function. More...
 
constexpr const char * tvm::relax::attr::kForcePure = "relax.force_pure"
 Override checking purity for this function and treat as pure (is_pure must be set to true) More...
 
constexpr const char * tvm::relax::attr::kNumInput = "num_input"
 The number of inputs of a function. If a function has the num_input attribute, the last func->params.size() - num_inputs arguments are assumed to be weights that are fixed across invocations. More...