tvm
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
tvm::script::ir_builder::IRBuilderFrameObj Class Reference

A stack frame of the IRBuilder used to keep track of the current scope. Furthermore, the information stored in each stack frame can be useful for context-dependent IR construction. More...

#include <base.h>

Inheritance diagram for tvm::script::ir_builder::IRBuilderFrameObj:
Collaboration diagram for tvm::script::ir_builder::IRBuilderFrameObj:

Public Member Functions

 IRBuilderFrameObj ()
 Capture the source-call context when this frame is constructed.
 
 TVM_FFI_DECLARE_OBJECT_INFO ("script.ir_builder.IRBuilderFrame", IRBuilderFrameObj, ffi::Object)
 
virtual ~IRBuilderFrameObj ()=default
 Default destructor.
 
virtual void EnterWithScope ()
 The method called when entering RAII scope.
 
virtual void ExitWithScope ()
 The method called when exiting RAII scope.
 
void AddCallback (ffi::TypedFunction< void()> callback)
 Add a callback method invoked when exiting the RAII scope.
 

Static Public Member Functions

static void RegisterReflection ()
 

Public Attributes

std::vector< ffi::TypedFunction< void()> > callbacks
 A list of callbacks used when exiting the frame.
 
Location loc = UnknownLoc()
 Source context retained until this frame constructs its result.
 

Static Public Attributes

static constexpr const bool _type_mutable = true
 

Detailed Description

A stack frame of the IRBuilder used to keep track of the current scope. Furthermore, the information stored in each stack frame can be useful for context-dependent IR construction.

Frames capture construction context and nested scopes. Language variant builders define concrete frame subclasses and decide how their contents contribute to the result.

Constructor & Destructor Documentation

◆ IRBuilderFrameObj()

tvm::script::ir_builder::IRBuilderFrameObj::IRBuilderFrameObj ( )

Capture the source-call context when this frame is constructed.

◆ ~IRBuilderFrameObj()

virtual tvm::script::ir_builder::IRBuilderFrameObj::~IRBuilderFrameObj ( )
virtualdefault

Default destructor.

Member Function Documentation

◆ AddCallback()

void tvm::script::ir_builder::IRBuilderFrameObj::AddCallback ( ffi::TypedFunction< void()>  callback)

Add a callback method invoked when exiting the RAII scope.

Parameters
callbackThe callback to be added.

◆ EnterWithScope()

virtual void tvm::script::ir_builder::IRBuilderFrameObj::EnterWithScope ( )
virtual

◆ ExitWithScope()

virtual void tvm::script::ir_builder::IRBuilderFrameObj::ExitWithScope ( )
virtual

◆ RegisterReflection()

static void tvm::script::ir_builder::IRBuilderFrameObj::RegisterReflection ( )
inlinestatic

◆ TVM_FFI_DECLARE_OBJECT_INFO()

tvm::script::ir_builder::IRBuilderFrameObj::TVM_FFI_DECLARE_OBJECT_INFO ( "script.ir_builder.IRBuilderFrame"  ,
IRBuilderFrameObj  ,
ffi::Object   
)

Member Data Documentation

◆ _type_mutable

constexpr const bool tvm::script::ir_builder::IRBuilderFrameObj::_type_mutable = true
staticconstexpr

◆ callbacks

std::vector<ffi::TypedFunction<void()> > tvm::script::ir_builder::IRBuilderFrameObj::callbacks

A list of callbacks used when exiting the frame.

◆ loc

Location tvm::script::ir_builder::IRBuilderFrameObj::loc = UnknownLoc()
mutable

Source context retained until this frame constructs its result.


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