Halide 19.0.0
Halide compiler and libraries
|
A base class for expression nodes. More...
#include <Expr.h>
Public Member Functions | |
BaseExprNode (IRNodeType t) | |
virtual Expr | mutate_expr (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 |
Public Attributes | |
Type | type |
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. | |
A base class for expression nodes.
They all contain their types (e.g. Int(32), Float(32))
|
inline |
Implemented in Halide::Internal::ExprNode< T >, Halide::Internal::ExprNode< Add >, Halide::Internal::ExprNode< And >, Halide::Internal::ExprNode< Broadcast >, Halide::Internal::ExprNode< Call >, Halide::Internal::ExprNode< Cast >, Halide::Internal::ExprNode< Div >, Halide::Internal::ExprNode< EQ >, Halide::Internal::ExprNode< FloatImm >, Halide::Internal::ExprNode< GE >, Halide::Internal::ExprNode< GT >, Halide::Internal::ExprNode< IntImm >, Halide::Internal::ExprNode< LE >, Halide::Internal::ExprNode< Let >, Halide::Internal::ExprNode< Load >, Halide::Internal::ExprNode< LT >, Halide::Internal::ExprNode< Max >, Halide::Internal::ExprNode< Min >, Halide::Internal::ExprNode< Mod >, Halide::Internal::ExprNode< Mul >, Halide::Internal::ExprNode< NE >, Halide::Internal::ExprNode< Not >, Halide::Internal::ExprNode< Or >, Halide::Internal::ExprNode< Ramp >, Halide::Internal::ExprNode< Reinterpret >, Halide::Internal::ExprNode< Select >, Halide::Internal::ExprNode< Shuffle >, Halide::Internal::ExprNode< StringImm >, Halide::Internal::ExprNode< Sub >, Halide::Internal::ExprNode< UIntImm >, Halide::Internal::ExprNode< Variable >, and Halide::Internal::ExprNode< VectorReduce >.
Type Halide::Internal::BaseExprNode::type |
Definition at line 148 of file Expr.h.
Referenced by Halide::SimdOpCheckTest::check_one(), Halide::Internal::HexagonAlignmentAnalyzer::is_aligned(), Halide::Internal::Cast::is_reinterpret(), Halide::Internal::Variable::make(), Halide::Internal::Variable::make(), Halide::Internal::Variable::make(), Halide::Internal::Variable::make(), Halide::Internal::IRMatcher::SliceOp< Vec, Base, Stride, Lanes >::match(), Halide::Internal::IRMatcher::VectorReduceOp< A, B, reduce_op >::match(), and Halide::Expr::type().