Halide 22.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
IRMutator.h File Reference

Defines a base class for passes over the IR that modify it. More...

#include <map>
#include <type_traits>
#include <utility>
#include "IR.h"

Go to the source code of this file.

Classes

class  Halide::Internal::IRMutator
 A base class for passes over the IR which modify it (e.g. More...
 
class  Halide::Internal::IRGraphMutator
 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...
 
struct  Halide::Internal::LambdaMutator< Lambdas >
 A lambda-based IR mutator that accepts multiple lambdas for different node types. More...
 
struct  Halide::Internal::LambdaMutatorGeneric< Lambdas >
 A lambda-based IR mutator that accepts multiple lambdas for overloading the base mutate() method. More...
 

Namespaces

namespace  Halide
 This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
 
namespace  Halide::Internal
 

Functions

template<typename T , typename... Lambdas>
auto Halide::Internal::mutate_with (const T &ir, Lambdas &&...lambdas)
 
template<typename Mutator , typename... Args>
std::pair< Region, boolHalide::Internal::mutate_region (Mutator *mutator, const Region &bounds, Args &&...args)
 A helper function for mutator-like things to mutate regions.
 

Detailed Description

Defines a base class for passes over the IR that modify it.

Definition in file IRMutator.h.