FreeTensor
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
freetensor::AllUses Class Reference

#include <all_uses.h>

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

Public Types

typedef int AllUsesType
 
- Public Types inherited from freetensor::Visitor
typedef void ExprRetType
 
typedef void StmtRetType
 

Public Member Functions

 AllUses (AllUsesType type, bool noRecurseIdx, bool noRecurseSubStmt)
 
const std::unordered_set< std::string > & uses () const
 
- Public Member Functions inherited from freetensor::Visitor
virtual ~Visitor ()
 
virtual void operator() (const AST &op) final
 

Static Public Attributes

static constexpr AllUsesType CHECK_LOAD = 0x1
 
static constexpr AllUsesType CHECK_STORE = 0x2
 
static constexpr AllUsesType CHECK_REDUCE = 0x4
 
static constexpr AllUsesType CHECK_VAR = 0x8
 

Protected Member Functions

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

Detailed Description

Record all buffers that are used in an AST

Member Typedef Documentation

◆ AllUsesType

Constructor & Destructor Documentation

◆ AllUses()

freetensor::AllUses::AllUses ( AllUsesType  type,
bool  noRecurseIdx,
bool  noRecurseSubStmt 
)
inline

Member Function Documentation

◆ uses()

const std::unordered_set< std::string > & freetensor::AllUses::uses ( ) const
inline

◆ visit() [1/4]

void freetensor::AllUses::visit ( const Load op)
overrideprotectedvirtual

Reimplemented from freetensor::Visitor.

◆ visit() [2/4]

void freetensor::AllUses::visit ( const ReduceTo op)
overrideprotectedvirtual

Reimplemented from freetensor::Visitor.

◆ visit() [3/4]

void freetensor::AllUses::visit ( const Store op)
overrideprotectedvirtual

Reimplemented from freetensor::Visitor.

◆ visit() [4/4]

void freetensor::AllUses::visit ( const Var op)
overrideprotectedvirtual

Reimplemented from freetensor::Visitor.

◆ visitStmt()

void freetensor::AllUses::visitStmt ( const Stmt s)
overrideprotectedvirtual

Reimplemented from freetensor::Visitor.

Member Data Documentation

◆ CHECK_LOAD

constexpr AllUsesType freetensor::AllUses::CHECK_LOAD = 0x1
staticconstexpr

◆ CHECK_REDUCE

constexpr AllUsesType freetensor::AllUses::CHECK_REDUCE = 0x4
staticconstexpr

◆ CHECK_STORE

constexpr AllUsesType freetensor::AllUses::CHECK_STORE = 0x2
staticconstexpr

◆ CHECK_VAR

constexpr AllUsesType freetensor::AllUses::CHECK_VAR = 0x8
staticconstexpr

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