Halide 22.0.0 Halide compiler and libraries

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

A sequence of statements to be executed in-order. More...

`#include <IR.h>`

Inheritance diagram for Halide::Internal::Block:

## Static Public Member Functions
static Stmt | make (Stmt first, Stmt rest)
static Stmt | make (const std::vector< Stmt > &stmts)
| Construct zero or more Blocks to invoke a list of statements in order. More...

## Public Attributes
Stmt | first
Stmt | rest
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::Block

## Additional Inherited Members
Public Member Functions inherited from Halide::Internal::StmtNode< Block >
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

A sequence of statements to be executed in-order.

'first' is never a Block, so this can be treated as a linked list.

Definition at line 442 of file IR.h.

## Member Function Documentation

## ◆ make() [1/2]

static Stmt Halide::Internal::Block::make | ( | Stmt | first,
|  | Stmt | rest
| ) |  |
| static

## ◆ make() [2/2]

static Stmt Halide::Internal::Block::make | ( | const std::vector< Stmt > & | stmts | ) |
| static

Construct zero or more Blocks to invoke a list of statements in order.

This method may not return a Block statement if stmts.size() <= 1.

## Member Data Documentation

## ◆ first

Stmt Halide::Internal::Block::first

Definition at line 443 of file IR.h.

## ◆ rest

Stmt Halide::Internal::Block::rest

Definition at line 443 of file IR.h.

## ◆ _node_type

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

Definition at line 451 of file IR.h.

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

- src/IR.h