Halide
17.0.2
Halide compiler and libraries
|
A base class for algorithms that walk recursively over the IR without visiting the same node twice. More...
#include <IRVisitor.h>
Inherits Halide::Internal::IRVisitor.
Inherited by Halide::Internal::ExprUsesVars< T >.
Protected Member Functions | |
virtual void | include (const Expr &) |
By default these methods add the node to the visited set, and return whether or not it was already there. More... | |
virtual void | include (const Stmt &) |
By default these methods add the node to the visited set, and return whether or not it was already there. More... | |
void | visit (const IntImm *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const UIntImm *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const FloatImm *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const StringImm *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Cast *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Reinterpret *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Variable *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Add *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Sub *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Mul *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Div *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Mod *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Min *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Max *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const EQ *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const NE *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const LT *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const LE *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const GT *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const GE *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const And *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Or *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Not *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Select *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Load *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Ramp *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Broadcast *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Call *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Let *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const LetStmt *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const AssertStmt *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const ProducerConsumer *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const For *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Store *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Provide *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Allocate *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Free *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Realize *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Block *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const IfThenElse *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Evaluate *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Shuffle *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const VectorReduce *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Prefetch *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Acquire *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Fork *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const Atomic *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
void | visit (const HoistedStorage *) override |
These methods should call 'include' on the children to only visit them if they haven't been visited already. More... | |
Additional Inherited Members | |
![]() | |
IRVisitor ()=default | |
virtual | ~IRVisitor ()=default |
A base class for algorithms that walk recursively over the IR without visiting the same node twice.
This is for passes that are capable of interpreting the IR as a DAG instead of a tree.
Definition at line 85 of file IRVisitor.h.
|
protectedvirtual |
By default these methods add the node to the visited set, and return whether or not it was already there.
If it wasn't there, it delegates to the appropriate visit method. You can override them if you like.
|
protectedvirtual |
By default these methods add the node to the visited set, and return whether or not it was already there.
If it wasn't there, it delegates to the appropriate visit method. You can override them if you like.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
These methods should call 'include' on the children to only visit them if they haven't been visited already.
Reimplemented from Halide::Internal::IRVisitor.