Halide 21.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Halide::Internal::BaseStmtNode Struct Referenceabstract

IR nodes are split into expressions and statements. More...

#include <Expr.h>

Inheritance diagram for Halide::Internal::BaseStmtNode:
Halide::Internal::IRNode Halide::Internal::StmtNode< Acquire > Halide::Internal::StmtNode< Allocate > Halide::Internal::StmtNode< AssertStmt > Halide::Internal::StmtNode< Atomic > Halide::Internal::StmtNode< Block > Halide::Internal::StmtNode< Evaluate > Halide::Internal::StmtNode< For > Halide::Internal::StmtNode< Fork > Halide::Internal::StmtNode< Free > Halide::Internal::StmtNode< HoistedStorage > Halide::Internal::StmtNode< IfThenElse > Halide::Internal::StmtNode< LetStmt > Halide::Internal::StmtNode< Prefetch > Halide::Internal::StmtNode< ProducerConsumer > Halide::Internal::StmtNode< Provide > Halide::Internal::StmtNode< Realize > Halide::Internal::StmtNode< Store > Halide::Internal::StmtNode< T >

Public Member Functions

 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.
 IRNode (IRNodeType t)
virtual ~IRNode ()=default

Additional Inherited Members

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.

Detailed Description

IR nodes are split into expressions and statements.

These are similar to expressions and statements in C - expressions represent some value and have some type (e.g. x + 3), and statements are side-effecting pieces of code that do not represent a value (e.g. assert(x > 3)) A base class for statement nodes. They have no properties or methods beyond base IR nodes for now.

Definition at line 134 of file Expr.h.

Constructor & Destructor Documentation

◆ BaseStmtNode()

Halide::Internal::BaseStmtNode::BaseStmtNode ( IRNodeType t)
inline

Definition at line 135 of file Expr.h.

References Halide::Internal::IRNode::IRNode().

Referenced by Halide::Internal::StmtNode< T >::StmtNode().

Member Function Documentation

◆ mutate_stmt()


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