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

A frame that represents an execution scope (e.g. cta, warp, thread). More...

#include <frame.h>

Inheritance diagram for tvm::script::ir_builder::tirx::ExecScopeFrameNode:
Collaboration diagram for tvm::script::ir_builder::tirx::ExecScopeFrameNode:

Public Member Functions

 TVM_FFI_DECLARE_OBJECT_INFO_FINAL ("script.ir_builder.tirx.ExecScopeFrame", ExecScopeFrameNode, TIRFrameNode)
 
void ExitWithScope () final
 The method called when exiting RAII scope. More...
 
- Public Member Functions inherited from tvm::script::ir_builder::tirx::TIRFrameNode
 TVM_FFI_DECLARE_OBJECT_INFO ("script.ir_builder.tirx.TIRFrame", TIRFrameNode, IRBuilderFrameNode)
 
- Public Member Functions inherited from tvm::script::ir_builder::IRBuilderFrameNode
 TVM_FFI_DECLARE_OBJECT_INFO ("script.ir_builder.IRBuilderFrame", IRBuilderFrameNode, ffi::Object)
 
virtual ~IRBuilderFrameNode ()=default
 Default destructor. More...
 
virtual void EnterWithScope ()
 The method called when entering RAII scope. 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::tirx::TIRFrameNode
static void RegisterReflection ()
 
- Static Public Member Functions inherited from tvm::script::ir_builder::IRBuilderFrameNode
static void RegisterReflection ()
 

Public Attributes

ffi::Optional< tvm::tirx::ExecScopeexec_scope
 The execution scope (always plain kind; no slice). More...
 
ffi::Array< PrimExprguards
 Optional surface-syntax guards for with Tx.scope(cond). More...
 
- Public Attributes inherited from tvm::script::ir_builder::tirx::TIRFrameNode
ffi::Array< tvm::tirx::Stmtstmts
 The Stmt within in this frame. 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...
 

Additional Inherited Members

- Static Public Attributes inherited from tvm::script::ir_builder::IRBuilderFrameNode
static constexpr const bool _type_mutable = true
 

Detailed Description

A frame that represents an execution scope (e.g. cta, warp, thread).

When exiting this frame, it produces an ExecScopeStmt wrapping the body. This is the new IR pattern, replacing the old pattern of storing exec_scope on SBlock.

See also
ExecScopeFrame

Member Function Documentation

◆ ExitWithScope()

void tvm::script::ir_builder::tirx::ExecScopeFrameNode::ExitWithScope ( )
finalvirtual

The method called when exiting RAII scope.

See also
tvm::support::With

Reimplemented from tvm::script::ir_builder::IRBuilderFrameNode.

◆ RegisterReflection()

static void tvm::script::ir_builder::tirx::ExecScopeFrameNode::RegisterReflection ( )
inlinestatic

◆ TVM_FFI_DECLARE_OBJECT_INFO_FINAL()

tvm::script::ir_builder::tirx::ExecScopeFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL ( "script.ir_builder.tirx.ExecScopeFrame"  ,
ExecScopeFrameNode  ,
TIRFrameNode   
)

Member Data Documentation

◆ exec_scope

ffi::Optional<tvm::tirx::ExecScope> tvm::script::ir_builder::tirx::ExecScopeFrameNode::exec_scope

The execution scope (always plain kind; no slice).

◆ guards

ffi::Array<PrimExpr> tvm::script::ir_builder::tirx::ExecScopeFrameNode::guards

Optional surface-syntax guards for with Tx.scope(cond).


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