FreeTensor
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
freetensor::ShrinkVar Class Reference

#include <shrink_var.h>

Inheritance diagram for freetensor::ShrinkVar:
Inheritance graph
[legend]
Collaboration diagram for freetensor::ShrinkVar:
Collaboration graph
[legend]

Public Member Functions

 ShrinkVar (const std::unordered_map< ID, AccessBound > &newRangeWithShape, const std::unordered_map< ID, AccessBound > &newRangeWithoutShape, bool guardReads=false)
 
- Public Member Functions inherited from freetensor::Mutator
virtual ~Mutator ()
 
virtual Stmt operator() (const Stmt &op) final
 
virtual Expr operator() (const Expr &op) final
 

Protected Member Functions

Stmt visitStmt (const Stmt &s) override
 
Stmt visit (const VarDef &op) override
 
Expr visit (const Load &op) override
 
Stmt visit (const Store &op) override
 
Stmt visit (const ReduceTo &op) override
 
- Protected Member Functions inherited from freetensor::Mutator
virtual Expr visitExpr (const Expr &op)
 
virtual Stmt visitStmt (const Stmt &op)
 
virtual Stmt visit (const Any &op)
 
virtual Stmt visit (const StmtSeq &op)
 
virtual Stmt visit (const VarDef &op)
 
virtual Expr visit (const Var &op)
 
virtual Stmt visit (const Store &op)
 
virtual Stmt visit (const Alloc &op)
 
virtual Stmt visit (const Free &op)
 
virtual Expr visit (const Load &op)
 
virtual Stmt visit (const ReduceTo &op)
 
virtual Expr visit (const AnyExpr &op)
 
virtual Expr visit (const IntConst &op)
 
virtual Expr visit (const FloatConst &op)
 
virtual Expr visit (const BoolConst &op)
 
virtual Expr visit (const Add &op)
 
virtual Expr visit (const Sub &op)
 
virtual Expr visit (const Mul &op)
 
virtual Expr visit (const RealDiv &op)
 
virtual Expr visit (const FloorDiv &op)
 
virtual Expr visit (const CeilDiv &op)
 
virtual Expr visit (const RoundTowards0Div &op)
 
virtual Expr visit (const Mod &op)
 
virtual Expr visit (const Remainder &op)
 
virtual Expr visit (const Min &op)
 
virtual Expr visit (const Max &op)
 
virtual Expr visit (const LT &op)
 
virtual Expr visit (const LE &op)
 
virtual Expr visit (const GT &op)
 
virtual Expr visit (const GE &op)
 
virtual Expr visit (const EQ &op)
 
virtual Expr visit (const NE &op)
 
virtual Expr visit (const LAnd &op)
 
virtual Expr visit (const LOr &op)
 
virtual Expr visit (const LNot &op)
 
virtual Expr visit (const Sqrt &op)
 
virtual Expr visit (const Exp &op)
 
virtual Expr visit (const Ln &op)
 
virtual Expr visit (const Square &op)
 
virtual Expr visit (const Sigmoid &op)
 
virtual Expr visit (const Sin &op)
 
virtual Expr visit (const Cos &op)
 
virtual Expr visit (const Tan &op)
 
virtual Expr visit (const Tanh &op)
 
virtual Expr visit (const Abs &op)
 
virtual Expr visit (const Floor &op)
 
virtual Expr visit (const Ceil &op)
 
virtual Expr visit (const Unbound &op)
 
virtual Stmt visit (const For &op)
 
virtual Stmt visit (const If &op)
 
virtual Stmt visit (const Assert &op)
 
virtual Stmt visit (const Assume &op)
 
virtual Expr visit (const IfExpr &op)
 
virtual Expr visit (const Cast &op)
 
virtual Expr visit (const Intrinsic &op)
 
virtual Stmt visit (const Eval &op)
 
virtual Stmt visit (const MatMul &op)
 
virtual Stmt visit (const MarkVersion &op)
 
virtual Expr visit (const LoadAtVersion &op)
 

Additional Inherited Members

- Public Types inherited from freetensor::Mutator
typedef Expr ExprRetType
 
typedef Stmt StmtRetType
 

Detailed Description

Main mutator for shrinking variables

This mutator modifies the shape of each variable to be the upper bound expression minus the lower bound expression plus one, with respect to each access of the variable.

Constructor & Destructor Documentation

◆ ShrinkVar()

freetensor::ShrinkVar::ShrinkVar ( const std::unordered_map< ID, AccessBound > &  newRangeWithShape,
const std::unordered_map< ID, AccessBound > &  newRangeWithoutShape,
bool  guardReads = false 
)
inline

Member Function Documentation

◆ visit() [1/4]

Expr freetensor::ShrinkVar::visit ( const Load op)
overrideprotectedvirtual

Reimplemented from freetensor::Mutator.

◆ visit() [2/4]

Stmt freetensor::ShrinkVar::visit ( const ReduceTo op)
overrideprotectedvirtual

Reimplemented from freetensor::Mutator.

◆ visit() [3/4]

Stmt freetensor::ShrinkVar::visit ( const Store op)
overrideprotectedvirtual

Reimplemented from freetensor::Mutator.

◆ visit() [4/4]

Stmt freetensor::ShrinkVar::visit ( const VarDef op)
overrideprotectedvirtual

Reimplemented from freetensor::Mutator.

◆ visitStmt()

Stmt freetensor::ShrinkVar::visitStmt ( const Stmt s)
overrideprotectedvirtual

Reimplemented from freetensor::Mutator.


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