Halide 19.0.0
Halide compiler and libraries
|
A mutator that caches and reapplies previously-done mutations, so that it can handle graphs of IR that have not had CSE done to them. More...
#include <IRMutator.h>
Public Member Functions | |
Stmt | mutate (const Stmt &s) override |
Expr | mutate (const Expr &e) override |
This is the main interface for using a mutator. | |
std::vector< Expr > | mutate (const std::vector< Expr > &exprs) |
Public Member Functions inherited from Halide::Internal::IRMutator | |
IRMutator ()=default | |
virtual | ~IRMutator ()=default |
std::pair< std::vector< Expr >, bool > | mutate_with_changes (const std::vector< Expr > &) |
std::vector< Expr > | mutate (const std::vector< Expr > &exprs) |
Protected Attributes | |
std::map< Expr, Expr, ExprCompare > | expr_replacements |
std::map< Stmt, Stmt, Stmt::Compare > | stmt_replacements |
Additional Inherited Members | |
Protected Member Functions inherited from Halide::Internal::IRMutator | |
virtual Expr | visit (const IntImm *) |
virtual Expr | visit (const UIntImm *) |
virtual Expr | visit (const FloatImm *) |
virtual Expr | visit (const StringImm *) |
virtual Expr | visit (const Cast *) |
virtual Expr | visit (const Reinterpret *) |
virtual Expr | visit (const Variable *) |
virtual Expr | visit (const Add *) |
virtual Expr | visit (const Sub *) |
virtual Expr | visit (const Mul *) |
virtual Expr | visit (const Div *) |
virtual Expr | visit (const Mod *) |
virtual Expr | visit (const Min *) |
virtual Expr | visit (const Max *) |
virtual Expr | visit (const EQ *) |
virtual Expr | visit (const NE *) |
virtual Expr | visit (const LT *) |
virtual Expr | visit (const LE *) |
virtual Expr | visit (const GT *) |
virtual Expr | visit (const GE *) |
virtual Expr | visit (const And *) |
virtual Expr | visit (const Or *) |
virtual Expr | visit (const Not *) |
virtual Expr | visit (const Select *) |
virtual Expr | visit (const Load *) |
virtual Expr | visit (const Ramp *) |
virtual Expr | visit (const Broadcast *) |
virtual Expr | visit (const Call *) |
virtual Expr | visit (const Let *) |
virtual Expr | visit (const Shuffle *) |
virtual Expr | visit (const VectorReduce *) |
virtual Stmt | visit (const LetStmt *) |
virtual Stmt | visit (const AssertStmt *) |
virtual Stmt | visit (const ProducerConsumer *) |
virtual Stmt | visit (const For *) |
virtual Stmt | visit (const Store *) |
virtual Stmt | visit (const Provide *) |
virtual Stmt | visit (const Allocate *) |
virtual Stmt | visit (const Free *) |
virtual Stmt | visit (const Realize *) |
virtual Stmt | visit (const Block *) |
virtual Stmt | visit (const IfThenElse *) |
virtual Stmt | visit (const Evaluate *) |
virtual Stmt | visit (const Prefetch *) |
virtual Stmt | visit (const Acquire *) |
virtual Stmt | visit (const Fork *) |
virtual Stmt | visit (const Atomic *) |
virtual Stmt | visit (const HoistedStorage *) |
A mutator that caches and reapplies previously-done mutations, so that it can handle graphs of IR that have not had CSE done to them.
Definition at line 108 of file IRMutator.h.
Reimplemented from Halide::Internal::IRMutator.
This is the main interface for using a mutator.
Also call these in your subclass to mutate sub-expressions and sub-statements.
Reimplemented from Halide::Internal::IRMutator.
|
inline |
Definition at line 117 of file IRMutator.h.
References Halide::Internal::IRMutator::mutate().
|
protected |
Definition at line 110 of file IRMutator.h.
|
protected |
Definition at line 111 of file IRMutator.h.