tvm
Public Member Functions | Static Public Member Functions | List of all members
tvm::relax::Function Class Reference

#include <expr.h>

Inheritance diagram for tvm::relax::Function:
Collaboration diagram for tvm::relax::Function:

Public Member Functions

 Function (Array< Var > params, Expr body, Optional< StructInfo > ret_struct_info, bool is_pure=true, DictAttrs attrs=DictAttrs(), Span span=Span())
 Construct a Relax Function. More...
 
 TVM_DEFINE_OBJECT_REF_METHODS (Function, BaseFunc, FunctionNode)
 
 TVM_DEFINE_OBJECT_REF_COW_METHOD (FunctionNode)
 
- Public Member Functions inherited from tvm::BaseFunc
 TVM_DEFINE_OBJECT_REF_METHODS (BaseFunc, RelayExpr, BaseFuncNode)
 
- Public Member Functions inherited from tvm::RelayExpr
 TVM_DEFINE_OBJECT_REF_METHODS (RelayExpr, BaseExpr, RelayExprNode)
 
- Public Member Functions inherited from tvm::BaseExpr
 TVM_DEFINE_OBJECT_REF_METHODS (BaseExpr, ObjectRef, BaseExprNode)
 
- Public Member Functions inherited from tvm::runtime::ObjectRef
 ObjectRef ()=default
 default constructor More...
 
 ObjectRef (ObjectPtr< Object > data)
 Constructor from existing object ptr. More...
 
bool same_as (const ObjectRef &other) const
 Comparator. More...
 
bool operator== (const ObjectRef &other) const
 Comparator. More...
 
bool operator!= (const ObjectRef &other) const
 Comparator. More...
 
bool operator< (const ObjectRef &other) const
 Comparator. More...
 
bool defined () const
 
const Objectget () const
 
const Objectoperator-> () const
 
bool unique () const
 
int use_count () const
 
template<typename ObjectType , typename = std::enable_if_t<std::is_base_of_v<Object, ObjectType>>>
const ObjectType * as () const
 Try to downcast the internal Object to a raw pointer of a corresponding type. More...
 
template<typename ObjectRefType , typename = std::enable_if_t<std::is_base_of_v<ObjectRef, ObjectRefType>>>
Optional< ObjectRefType > as () const
 Try to downcast the ObjectRef to a Optional<T> of the requested type. More...
 

Static Public Member Functions

static Function CreateEmpty (Array< Var > params, StructInfo ret_struct_info, bool is_pure=true, DictAttrs attrs=DictAttrs(), Span span=Span())
 Mimics the constructor but without body Expr. More...
 

Additional Inherited Members

- Public Types inherited from tvm::runtime::ObjectRef
using ContainerType = Object
 type indicate the container type. More...
 
- Static Public Attributes inherited from tvm::runtime::ObjectRef
static constexpr bool _type_is_nullable = true
 
- Protected Member Functions inherited from tvm::runtime::ObjectRef
Objectget_mutable () const
 
- Static Protected Member Functions inherited from tvm::runtime::ObjectRef
template<typename T >
static T DowncastNoCheck (ObjectRef ref)
 Internal helper function downcast a ref without check. More...
 
static void FFIClearAfterMove (ObjectRef *ref)
 Clear the object ref data field without DecRef after we successfully moved the field. More...
 
template<typename ObjectType >
static ObjectPtr< ObjectType > GetDataPtr (const ObjectRef &ref)
 Internal helper function get data_ as ObjectPtr of ObjectType. More...
 
- Protected Attributes inherited from tvm::runtime::ObjectRef
ObjectPtr< Objectdata_
 Internal pointer that backs the reference. More...
 

Constructor & Destructor Documentation

◆ Function()

tvm::relax::Function::Function ( Array< Var params,
Expr  body,
Optional< StructInfo ret_struct_info,
bool  is_pure = true,
DictAttrs  attrs = DictAttrs(),
Span  span = Span() 
)
explicit

Construct a Relax Function.

Parameters
paramsThe parameters accepted by the function
bodyThe body of the function. If this is not a SeqExpr, it will be wrapped in a SeqExpr, to satisfy the Relax IR requirement that all scopes be contained in a SeqExpr.
ret_struct_infoThe StructInfo returned by the function. If NullOpt, will be inferred from the StructInfo of the function's body.
is_pureThe purity of the function.
attrsAny attributes associated with the function. Defaults to an empty dictionary.
spanThe source span of the expression.

Member Function Documentation

◆ CreateEmpty()

static Function tvm::relax::Function::CreateEmpty ( Array< Var params,
StructInfo  ret_struct_info,
bool  is_pure = true,
DictAttrs  attrs = DictAttrs(),
Span  span = Span() 
)
static

Mimics the constructor but without body Expr.

Note
ret_struct_info is required, since it can not deduced by the body.

◆ TVM_DEFINE_OBJECT_REF_COW_METHOD()

tvm::relax::Function::TVM_DEFINE_OBJECT_REF_COW_METHOD ( FunctionNode  )

◆ TVM_DEFINE_OBJECT_REF_METHODS()

tvm::relax::Function::TVM_DEFINE_OBJECT_REF_METHODS ( Function  ,
BaseFunc  ,
FunctionNode   
)

The documentation for this class was generated from the following file: