tvm
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
tvm::script::ir_builder::relax::FunctionFrameNode Class Reference

The ir_builder frame for the relax function. More...

#include <frame.h>

Inheritance diagram for tvm::script::ir_builder::relax::FunctionFrameNode:
Collaboration diagram for tvm::script::ir_builder::relax::FunctionFrameNode:

Public Member Functions

 TVM_DECLARE_FINAL_OBJECT_INFO (FunctionFrameNode, SeqExprFrameNode)
 
void EnterWithScope () final
 The method called when entering RAII scope. More...
 
void ExitWithScope () final
 The method called when exiting RAII scope. More...
 
- Public Member Functions inherited from tvm::script::ir_builder::relax::SeqExprFrameNode
 TVM_DECLARE_BASE_OBJECT_INFO (SeqExprFrameNode, RelaxFrameNode)
 
- Public Member Functions inherited from tvm::script::ir_builder::relax::RelaxFrameNode
 TVM_DECLARE_BASE_OBJECT_INFO (RelaxFrameNode, IRBuilderFrameNode)
 
- Public Member Functions inherited from tvm::script::ir_builder::IRBuilderFrameNode
 TVM_DECLARE_BASE_OBJECT_INFO (IRBuilderFrameNode, runtime::Object)
 
virtual ~IRBuilderFrameNode ()=default
 Default destructor. More...
 
void AddCallback (ffi::TypedFunction< void()> callback)
 Add a callback method invoked when exiting the RAII scope. More...
 

Static Public Member Functions

static void RegisterReflection ()
 
- Static Public Member Functions inherited from tvm::script::ir_builder::relax::SeqExprFrameNode
static void RegisterReflection ()
 
- Static Public Member Functions inherited from tvm::script::ir_builder::relax::RelaxFrameNode
static void RegisterReflection ()
 
- Static Public Member Functions inherited from tvm::script::ir_builder::IRBuilderFrameNode
static void RegisterReflection ()
 

Public Attributes

Optional< String > name
 The function name. More...
 
Array< tvm::relax::Varparams
 The function params. More...
 
Optional< tvm::relax::StructInforet_struct_info
 The function return struct info. More...
 
Optional< Boolis_pure
 Whether the function is annotated as pure. More...
 
Optional< Boolis_private
 Whether the function is annotated as private. More...
 
Map< String, Any > attrs
 The function attributes. More...
 
tvm::relax::BlockBuilder block_builder
 The block builder to create Relax function. More...
 
- Public Attributes inherited from tvm::script::ir_builder::relax::SeqExprFrameNode
Array< tvm::relax::BindingBlockbinding_blocks
 The binding blocks inside the frame. More...
 
Optional< tvm::relax::Exproutput
 The frame output expr. std::nullopt when undefined. More...
 
- Public Attributes inherited from tvm::script::ir_builder::IRBuilderFrameNode
std::vector< ffi::TypedFunction< void()> > callbacks
 A list of callbacks used when exiting the frame. More...
 

Static Public Attributes

static constexpr const char * _type_key = "script.ir_builder.relax.FunctionFrame"
 
- Static Public Attributes inherited from tvm::script::ir_builder::relax::SeqExprFrameNode
static constexpr const char * _type_key = "script.ir_builder.relax.SeqExprFrame"
 
- Static Public Attributes inherited from tvm::script::ir_builder::relax::RelaxFrameNode
static constexpr const char * _type_key = "script.ir_builder.relax.RelaxFrame"
 
- Static Public Attributes inherited from tvm::script::ir_builder::IRBuilderFrameNode
static constexpr const char * _type_key = "script.ir_builder.IRBuilderFrame"
 

Detailed Description

The ir_builder frame for the relax function.

Member Function Documentation

◆ EnterWithScope()

void tvm::script::ir_builder::relax::FunctionFrameNode::EnterWithScope ( )
finalvirtual

The method called when entering RAII scope.

See also
tvm::support::With

Reimplemented from tvm::script::ir_builder::relax::SeqExprFrameNode.

◆ ExitWithScope()

void tvm::script::ir_builder::relax::FunctionFrameNode::ExitWithScope ( )
finalvirtual

The method called when exiting RAII scope.

See also
tvm::support::With

Reimplemented from tvm::script::ir_builder::relax::SeqExprFrameNode.

◆ RegisterReflection()

static void tvm::script::ir_builder::relax::FunctionFrameNode::RegisterReflection ( )
inlinestatic

◆ TVM_DECLARE_FINAL_OBJECT_INFO()

tvm::script::ir_builder::relax::FunctionFrameNode::TVM_DECLARE_FINAL_OBJECT_INFO ( FunctionFrameNode  ,
SeqExprFrameNode   
)

Member Data Documentation

◆ _type_key

constexpr const char* tvm::script::ir_builder::relax::FunctionFrameNode::_type_key = "script.ir_builder.relax.FunctionFrame"
staticconstexpr

◆ attrs

Map<String, Any> tvm::script::ir_builder::relax::FunctionFrameNode::attrs

The function attributes.

◆ block_builder

tvm::relax::BlockBuilder tvm::script::ir_builder::relax::FunctionFrameNode::block_builder

The block builder to create Relax function.

◆ is_private

Optional<Bool> tvm::script::ir_builder::relax::FunctionFrameNode::is_private

Whether the function is annotated as private.

◆ is_pure

Optional<Bool> tvm::script::ir_builder::relax::FunctionFrameNode::is_pure

Whether the function is annotated as pure.

◆ name

Optional<String> tvm::script::ir_builder::relax::FunctionFrameNode::name

The function name.

Note
The name will not be specified in constructor, so it is "Optional", However, we must specify the name by R.func_name before exit this frame.

◆ params

Array<tvm::relax::Var> tvm::script::ir_builder::relax::FunctionFrameNode::params

The function params.

◆ ret_struct_info

Optional<tvm::relax::StructInfo> tvm::script::ir_builder::relax::FunctionFrameNode::ret_struct_info

The function return struct info.

Note
Usually the function return type can be deduced by the function body. But we can use this field to specify a more "accurate" return type. i.e. If the ret_struct_info is None, try to use the deduced type from body If the ret_struct_info is not None, we can still take body.struct_info if we ret_struct_info is base of body.struct_info. If not, we will take the specified ret_struct_info.

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