|
Halide 22.0.0
Halide compiler and libraries
|
A lambda-based IR mutator that accepts multiple lambdas for different node types. More...
#include <IRMutator.h>
Public Member Functions | |
| LambdaMutator (Lambdas... lambdas) | |
| template<typename T > | |
| auto | visit_base (const T *op) |
| Public helper to call the base visitor from lambdas. More... | |
Public Member Functions inherited from Halide::Internal::IRMutator | |
| IRMutator ()=default | |
| virtual | ~IRMutator ()=default |
| virtual Expr | mutate (const Expr &expr) |
| This is the main interface for using a mutator. More... | |
| virtual Stmt | mutate (const Stmt &stmt) |
| std::pair< std::vector< Expr >, bool > | mutate_with_changes (const std::vector< Expr > &) |
| std::vector< Expr > | mutate (const std::vector< Expr > &exprs) |
Protected Member Functions | |
| Expr | visit (const IntImm *op) override |
| Expr | visit (const UIntImm *op) override |
| Expr | visit (const FloatImm *op) override |
| Expr | visit (const StringImm *op) override |
| Expr | visit (const Cast *op) override |
| Expr | visit (const Reinterpret *op) override |
| Expr | visit (const Add *op) override |
| Expr | visit (const Sub *op) override |
| Expr | visit (const Mul *op) override |
| Expr | visit (const Div *op) override |
| Expr | visit (const Mod *op) override |
| Expr | visit (const Min *op) override |
| Expr | visit (const Max *op) override |
| Expr | visit (const EQ *op) override |
| Expr | visit (const NE *op) override |
| Expr | visit (const LT *op) override |
| Expr | visit (const LE *op) override |
| Expr | visit (const GT *op) override |
| Expr | visit (const GE *op) override |
| Expr | visit (const And *op) override |
| Expr | visit (const Or *op) override |
| Expr | visit (const Not *op) override |
| Expr | visit (const Select *op) override |
| Expr | visit (const Load *op) override |
| Expr | visit (const Ramp *op) override |
| Expr | visit (const Broadcast *op) override |
| Expr | visit (const Let *op) override |
| Stmt | visit (const LetStmt *op) override |
| Stmt | visit (const AssertStmt *op) override |
| Stmt | visit (const ProducerConsumer *op) override |
| Stmt | visit (const Store *op) override |
| Stmt | visit (const Provide *op) override |
| Stmt | visit (const Allocate *op) override |
| Stmt | visit (const Free *op) override |
| Stmt | visit (const Realize *op) override |
| Stmt | visit (const Block *op) override |
| Stmt | visit (const Fork *op) override |
| Stmt | visit (const IfThenElse *op) override |
| Stmt | visit (const Evaluate *op) override |
| Expr | visit (const Call *op) override |
| Expr | visit (const Variable *op) override |
| Stmt | visit (const For *op) override |
| Stmt | visit (const Acquire *op) override |
| Expr | visit (const Shuffle *op) override |
| Stmt | visit (const Prefetch *op) override |
| Stmt | visit (const HoistedStorage *op) override |
| Stmt | visit (const Atomic *op) override |
| Expr | visit (const VectorReduce *op) override |
| 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 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 Let *) |
| virtual Stmt | visit (const LetStmt *) |
| virtual Stmt | visit (const AssertStmt *) |
| virtual Stmt | visit (const ProducerConsumer *) |
| 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 Fork *) |
| virtual Stmt | visit (const IfThenElse *) |
| virtual Stmt | visit (const Evaluate *) |
| virtual Expr | visit (const Call *) |
| virtual Expr | visit (const Variable *) |
| virtual Stmt | visit (const For *) |
| virtual Stmt | visit (const Acquire *) |
| virtual Expr | visit (const Shuffle *) |
| virtual Stmt | visit (const Prefetch *) |
| virtual Stmt | visit (const HoistedStorage *) |
| virtual Stmt | visit (const Atomic *) |
| virtual Expr | visit (const VectorReduce *) |
A lambda-based IR mutator that accepts multiple lambdas for different node types.
Definition at line 123 of file IRMutator.h.
|
inlineexplicit |
Definition at line 124 of file IRMutator.h.
|
inline |
Public helper to call the base visitor from lambdas.
Definition at line 130 of file IRMutator.h.
References Halide::Internal::IRMutator::visit().
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 147 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 150 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 153 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 156 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 159 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 162 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 165 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 168 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 171 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 174 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 177 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 180 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 183 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 186 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 189 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 192 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 195 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 198 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 201 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 204 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 207 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 210 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 213 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 216 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 219 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 222 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 225 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 228 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 231 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 234 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 237 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 240 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 243 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 246 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 249 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 252 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 255 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 258 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 261 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 264 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 267 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 270 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 273 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 276 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 279 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 282 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 285 of file IRMutator.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from Halide::Internal::IRMutator.
Definition at line 288 of file IRMutator.h.