Halide
Halide::Internal::Block Struct Reference

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

#include <IR.h>

Inherits Halide::Internal::StmtNode< 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)
 
- 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 434 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 435 of file IR.h.

◆ rest

Stmt Halide::Internal::Block::rest

Definition at line 435 of file IR.h.

◆ _node_type

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

Definition at line 443 of file IR.h.


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