tvm
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
tvm::tir::AllocateNode Class Reference

Allocate a buffer that can be used in body. More...

#include <stmt.h>

Inheritance diagram for tvm::tir::AllocateNode:
Collaboration diagram for tvm::tir::AllocateNode:

Public Member Functions

int64_t ConstantAllocationSize () const
 If the buffer size is constant, return the size. Otherwise return 0. More...
 
 TVM_DECLARE_FINAL_OBJECT_INFO (AllocateNode, StmtNode)
 
- Public Member Functions inherited from tvm::tir::StmtNode
 StmtNode ()=default
 
 StmtNode (Span span)
 
 TVM_OBJECT_ENABLE_SCRIPT_PRINTER ()
 
 TVM_DECLARE_BASE_OBJECT_INFO (StmtNode, Object)
 

Static Public Member Functions

static void RegisterReflection ()
 
static int64_t ConstantAllocationSize (const Array< PrimExpr > &extents)
 If the buffer size is constant, return the size. Otherwise return 0. More...
 
- Static Public Member Functions inherited from tvm::tir::StmtNode
static void RegisterReflection ()
 

Public Attributes

Var buffer_var
 The buffer variable. More...
 
DataType dtype
 The type of the buffer. More...
 
Array< PrimExprextents
 The extents of the buffer. More...
 
PrimExpr condition
 Only allocate buffer when condition is satisfied. More...
 
Stmt body
 The body to be executed. More...
 
Map< String, ffi::Any > annotations
 Additional annotations about the allocation. More...
 
- Public Attributes inherited from tvm::tir::StmtNode
Span span
 Span that points to the original source code. Reserved debug information. More...
 

Static Public Attributes

static constexpr const char * _type_key = "tir.Allocate"
 
- Static Public Attributes inherited from tvm::tir::StmtNode
static constexpr const char * _type_key = "tir.Stmt"
 
static constexpr TVMFFISEqHashKind _type_s_eq_hash_kind = kTVMFFISEqHashKindTreeNode
 
static constexpr const uint32_t _type_child_slots = 15
 

Detailed Description

Allocate a buffer that can be used in body.

Member Function Documentation

◆ ConstantAllocationSize() [1/2]

int64_t tvm::tir::AllocateNode::ConstantAllocationSize ( ) const
inline

If the buffer size is constant, return the size. Otherwise return 0.

Returns
The result.

◆ ConstantAllocationSize() [2/2]

static int64_t tvm::tir::AllocateNode::ConstantAllocationSize ( const Array< PrimExpr > &  extents)
static

If the buffer size is constant, return the size. Otherwise return 0.

Parameters
extentsThe extents of the buffer.
Returns
The result.

◆ RegisterReflection()

static void tvm::tir::AllocateNode::RegisterReflection ( )
inlinestatic

◆ TVM_DECLARE_FINAL_OBJECT_INFO()

tvm::tir::AllocateNode::TVM_DECLARE_FINAL_OBJECT_INFO ( AllocateNode  ,
StmtNode   
)

Member Data Documentation

◆ _type_key

constexpr const char* tvm::tir::AllocateNode::_type_key = "tir.Allocate"
staticconstexpr

◆ annotations

Map<String, ffi::Any> tvm::tir::AllocateNode::annotations

Additional annotations about the allocation.

These annotations can be used as auxiliary hint to future transformations.

◆ body

Stmt tvm::tir::AllocateNode::body

The body to be executed.

◆ buffer_var

Var tvm::tir::AllocateNode::buffer_var

The buffer variable.

◆ condition

PrimExpr tvm::tir::AllocateNode::condition

Only allocate buffer when condition is satisfied.

◆ dtype

DataType tvm::tir::AllocateNode::dtype

The type of the buffer.

◆ extents

Array<PrimExpr> tvm::tir::AllocateNode::extents

The extents of the buffer.


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