Loading...
Searching...
No Matches
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.

## 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.
IRNodeType | node_type
| Each IR node subclass has a unique identifier.

## 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.
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

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]

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

static

References first, and rest.

## make() [2/2]

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.

Referenced by make().

## rest

Stmt Halide::Internal::Block::rest

Definition at line 443 of file IR.h.

Referenced by make().

## _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