Halide::Internal::Realize Struct Reference

Allocate a multi-dimensional buffer of the given type and size. More...

#include <IR.h>

Inherits Halide::Internal::StmtNode< Realize >.

Static Public Member Functions

static Stmt make (const std::string &name, const std::vector< Type > &types, MemoryType memory_type, const Region &bounds, Expr condition, Stmt body)

Public Attributes

std::string name
std::vector< Typetypes
MemoryType memory_type
Region bounds
Expr condition
Stmt body
- Public Attributes inherited from Halide::Internal::IRNode
RefCount ref_count
 These classes are all managed with intrusive reference counting, so we also track a reference count. More...
IRNodeType node_type
 Each IR node subclass has a unique identifier. More...

Static Public Attributes

static const IRNodeType _node_type = IRNodeType::Realize

Additional Inherited Members

- Public Member Functions inherited from Halide::Internal::StmtNode< Realize >
void accept (IRVisitor *v) const override
 We use the visitor pattern to traverse IR nodes throughout the compiler, so we have a virtual accept method which accepts visitors. More...
Stmt mutate_stmt (IRMutator *v) const override
 StmtNode ()
 ~StmtNode () override=default
- Public Member Functions inherited from Halide::Internal::BaseStmtNode
 BaseStmtNode (IRNodeType t)
- Public Member Functions inherited from Halide::Internal::IRNode
 IRNode (IRNodeType t)
virtual ~IRNode ()=default

Detailed Description

Allocate a multi-dimensional buffer of the given type and size.

Create some scratch memory that will back the function 'name' over the range specified in 'bounds'. The bounds are a vector of (min, extent) pairs for each dimension. Allocation only occurs if the condition evaluates to true.

Definition at line 402 of file IR.h.

Member Function Documentation

◆ make()

static Stmt Halide::Internal::Realize::make ( const std::string &  name,
const std::vector< Type > &  types,
MemoryType  memory_type,
const Region bounds,
Expr  condition,
Stmt  body 

Member Data Documentation

◆ name

std::string Halide::Internal::Realize::name

Definition at line 403 of file IR.h.

◆ types

std::vector<Type> Halide::Internal::Realize::types

Definition at line 404 of file IR.h.

◆ memory_type

MemoryType Halide::Internal::Realize::memory_type

Definition at line 405 of file IR.h.

◆ bounds

Region Halide::Internal::Realize::bounds

Definition at line 406 of file IR.h.

◆ condition

Expr Halide::Internal::Realize::condition

Definition at line 407 of file IR.h.

◆ body

Stmt Halide::Internal::Realize::body

Definition at line 408 of file IR.h.

◆ _node_type

const IRNodeType Halide::Internal::Realize::_node_type = IRNodeType::Realize

Definition at line 412 of file IR.h.

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