Halide 22.0.0 Halide compiler and libraries

Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Halide::Internal::Store Struct Reference

Store a 'value' to the buffer called 'name' at a given 'index' if 'predicate' is true. More...

`#include <IR.h>`

Inheritance diagram for Halide::Internal::Store:

## Static Public Member Functions
static Stmt | make (const std::string &name, Expr value, Expr index, Parameter param, Expr predicate, ModulusRemainder alignment)

## Public Attributes
std::string | name
Expr | predicate
Expr | value
Expr | index
Parameter | param
ModulusRemainder | alignment
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::Store

## Additional Inherited Members
Public Member Functions inherited from Halide::Internal::StmtNode< Store >
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)
virtual Stmt | mutate_stmt (IRMutator *v) const =0
Public Member Functions inherited from Halide::Internal::IRNode
virtual void | accept (IRVisitor *v) const =0
| We use the visitor pattern to traverse IR nodes throughout the compiler, so we have a virtual accept method which accepts visitors. More...
| IRNode (IRNodeType t)
virtual | ~IRNode ()=default

## Detailed Description

Store a 'value' to the buffer called 'name' at a given 'index' if 'predicate' is true.

The buffer is interpreted as an array of the same type as 'value'. The name may be the name of an enclosing Allocate node, an output buffer, or any other symbol of type Handle().

Definition at line 333 of file IR.h.

## Member Function Documentation

## ◆ make()

static Stmt Halide::Internal::Store::make | ( | const std::string & | name,
|  | Expr | value,
|  | Expr | index,
|  | Parameter | param,
|  | Expr | predicate,
|  | ModulusRemainder | alignment
| ) |  |
| static

## Member Data Documentation

## ◆ name

std::string Halide::Internal::Store::name

Definition at line 334 of file IR.h.

## ◆ predicate

Expr Halide::Internal::Store::predicate

Definition at line 335 of file IR.h.

## ◆ value

Expr Halide::Internal::Store::value

Definition at line 335 of file IR.h.

Referenced by Halide::Internal::HexagonAlignmentAnalyzer::is_aligned().

## ◆ index

Expr Halide::Internal::Store::index

Definition at line 335 of file IR.h.

## ◆ param

Parameter Halide::Internal::Store::param

Definition at line 337 of file IR.h.

## ◆ alignment

ModulusRemainder Halide::Internal::Store::alignment

Definition at line 341 of file IR.h.

## ◆ _node_type

const IRNodeType Halide::Internal::Store::_node_type = IRNodeType::Store
| static

Definition at line 346 of file IR.h.

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

- src/IR.h