Halide 22.0.0 Halide compiler and libraries

Public Member Functions | List of all members
Halide::Internal::LambdaMutatorGeneric< Lambdas > Struct Template Referencefinal

A lambda-based IR mutator that accepts multiple lambdas for overloading the base mutate() method. More...

`#include <IRMutator.h>`

Inheritance diagram for Halide::Internal::LambdaMutatorGeneric< Lambdas >:

## Public Member Functions
| LambdaMutatorGeneric (Lambdas... lambdas)
template<typename T >
auto | mutate_base (const T &op)
| Public helper to call the base mutator from lambdas. More...
Expr | mutate (const Expr &e) override
| This is the main interface for using a mutator. More...
Stmt | mutate (const Stmt &e) override
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)

## 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 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 *)

## Detailed Description

template<typename... Lambdas>
struct Halide::Internal::LambdaMutatorGeneric< Lambdas >

A lambda-based IR mutator that accepts multiple lambdas for overloading the base mutate() method.

Definition at line 296 of file IRMutator.h.

## Constructor & Destructor Documentation

## ◆ LambdaMutatorGeneric()

template<typename... Lambdas>

Halide::Internal::LambdaMutatorGeneric< Lambdas >::LambdaMutatorGeneric | ( | Lambdas... | lambdas | ) |
| inlineexplicit

Definition at line 297 of file IRMutator.h.

## Member Function Documentation

## ◆ mutate_base()

template<typename... Lambdas>
template<typename T >

auto Halide::Internal::LambdaMutatorGeneric< Lambdas >::mutate_base | ( | const T & | op | ) |
| inline

Public helper to call the base mutator from lambdas.

Definition at line 306 of file IRMutator.h.

References Halide::Internal::IRMutator::mutate().

Referenced by Halide::Internal::LambdaMutatorGeneric< Lambdas >::mutate().

## ◆ mutate() [1/2]

template<typename... Lambdas>

Expr Halide::Internal::LambdaMutatorGeneric< Lambdas >::mutate | ( | const Expr & | expr | ) |
| inlineoverridevirtual

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.

Definition at line 310 of file IRMutator.h.

References Halide::Internal::LambdaMutatorGeneric< Lambdas >::mutate_base().

Referenced by Halide::Internal::mutate_with().

## ◆ mutate() [2/2]

template<typename... Lambdas>

Stmt Halide::Internal::LambdaMutatorGeneric< Lambdas >::mutate | ( | const Stmt & | e | ) |
| inlineoverridevirtual

Reimplemented from Halide::Internal::IRMutator.

Definition at line 318 of file IRMutator.h.

References Halide::Internal::LambdaMutatorGeneric< Lambdas >::mutate_base().

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

- src/IRMutator.h