Halide 22.0.0 Halide compiler and libraries

Public Member Functions | Protected Attributes | List of all members
Halide::Internal::IRGraphMutator Class Reference

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>`

Inheritance diagram for Halide::Internal::IRGraphMutator:

## Public Member Functions
Stmt | mutate (const Stmt &s) override
Expr | mutate (const Expr &e) override
| This is the main interface for using a mutator. More...
std::vector< Expr > | mutate (const std::vector< Expr > &exprs)
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 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 *)

## Detailed Description

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.

## Member Function Documentation

## ◆ mutate() [1/3]

Stmt Halide::Internal::IRGraphMutator::mutate | ( | const Stmt & | s | ) |
| override virtual

Reimplemented from Halide::Internal::IRMutator.

## ◆ mutate() [2/3]

Expr Halide::Internal::IRGraphMutator::mutate | ( | const Expr & | expr | ) |
| override virtual

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.

## ◆ mutate() [3/3]

std::vector< Expr > Halide::Internal::IRGraphMutator::mutate | ( | const std::vector< Expr > & | exprs | ) |
| inline

Definition at line 117 of file IRMutator.h.

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

## Member Data Documentation

## ◆ expr_replacements

std::map<Expr, Expr, ExprCompare> Halide::Internal::IRGraphMutator::expr_replacements
| protected

Definition at line 110 of file IRMutator.h.

## ◆ stmt_replacements

std::map<Stmt, Stmt, Stmt::Compare> Halide::Internal::IRGraphMutator::stmt_replacements
| protected

Definition at line 111 of file IRMutator.h.

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

- src/IRMutator.h