|
FreeTensor
|
#include <visitor.h>

Public Types | |
| typedef void | ExprRetType |
| typedef void | StmtRetType |
Public Member Functions | |
| virtual | ~Visitor () |
| virtual void | operator() (const AST &op) final |
Protected Member Functions | |
| 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) |
| typedef void freetensor::Visitor::ExprRetType |
| typedef void freetensor::Visitor::StmtRetType |
|
inlinevirtual |
|
finalvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in freetensor::PrintVisitor.
|
inlineprotectedvirtual |
Reimplemented in freetensor::PrintVisitor.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in freetensor::CompTransientBounds< SymbolTable< Visitor > >, and freetensor::PrintVisitor.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in freetensor::CompAccessBound, freetensor::CompTransientBounds< SymbolTable< Visitor > >, freetensor::CountContigAccessLoops, freetensor::FindAllNoDeps, freetensor::FindAccessPoint, freetensor::InitExprVari, freetensor::MarkStores, freetensor::FindLoopVariance, freetensor::StructuralFeature, freetensor::SymbolTable< Visitor >, freetensor::SymbolTable< TrackStmt< Visitor > >, freetensor::CountScopeLen, freetensor::AnalyzeVersion, freetensor::CountNames, freetensor::CodeGenC< Stream >, freetensor::CodeGenC< CodeGenStream >, freetensor::CodeGenCPU, freetensor::MatchVisitor, freetensor::FindAllParallel, freetensor::FindSerialLoopsOverReduce, freetensor::FindLoopInvariantWrites, freetensor::FindAllScopesInside, freetensor::CheckLoopOrder, and freetensor::PrintVisitor.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in freetensor::PrintVisitor.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in freetensor::CompTransientBounds< SymbolTable< Visitor > >, freetensor::FindAccessPoint, freetensor::MarkStores, freetensor::FindLoopVariance, freetensor::StructuralFeature, freetensor::CountScopeLen, freetensor::CodeGenC< Stream >, freetensor::CodeGenC< CodeGenStream >, freetensor::MatchVisitor, freetensor::FindLoopInvariantWrites, and freetensor::PrintVisitor.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in freetensor::FindSideEffectIntrinsics, freetensor::CompUniqueBoundsCombination, freetensor::FindLoopVariance, freetensor::Derivative, freetensor::CodeGenC< Stream >, freetensor::CodeGenC< CodeGenStream >, freetensor::MatchVisitor, freetensor::CheckSideEffect, and freetensor::PrintVisitor.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in freetensor::AllUses, freetensor::AsDNF, freetensor::CompAccessBound, freetensor::CompUniqueBoundsCombination, freetensor::CountContigAccessLoops, freetensor::FindAccessPoint, freetensor::FindIndexingLoops, freetensor::FindLoopVariance, freetensor::StructuralFeature, freetensor::AnalyzeVersion, freetensor::Derivative, freetensor::PropagateRequires, freetensor::PropagateProvides, freetensor::CodeGenC< Stream >, freetensor::CodeGenC< CodeGenStream >, freetensor::MatchVisitor, freetensor::FindInnerMostScope, freetensor::ThrowIndirectAccess, and freetensor::PrintVisitor.
|
inlineprotectedvirtual |
Reimplemented in freetensor::MatchVisitor, and freetensor::PrintVisitor.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in freetensor::AnalyzeVersion, freetensor::SetUserVersionsForInputs, freetensor::MatchVisitor, and freetensor::PrintVisitor.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in freetensor::AllUses, freetensor::CompAccessBound, freetensor::CountContigAccessLoops, freetensor::FindAccessPoint, freetensor::FindIndexingLoops, freetensor::MarkStores, freetensor::StructuralFeature, freetensor::CountScopeLen, freetensor::AnalyzeVersion, freetensor::FindInvertibles, freetensor::PropagateRequires, freetensor::PropagateProvides, freetensor::CodeGenC< Stream >, freetensor::CodeGenC< CodeGenStream >, freetensor::CodeGenCPU, freetensor::MatchVisitor, freetensor::FindSerialLoopsOverReduce, freetensor::CheckSideEffect, freetensor::ThrowIndirectAccess, and freetensor::PrintVisitor.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in freetensor::FindAccessPoint, freetensor::StructuralFeature, freetensor::CountScopeLen, freetensor::AnalyzeVersion, freetensor::CodeGenC< Stream >, freetensor::CodeGenC< CodeGenStream >, freetensor::MatchVisitor, freetensor::FindAllScopesInside, freetensor::CheckLoopOrder, freetensor::CheckFuseAccessible, and freetensor::PrintVisitor.
|
inlineprotectedvirtual |
Reimplemented in freetensor::AllUses, freetensor::CompAccessBound, freetensor::CountContigAccessLoops, freetensor::FindAccessPoint, freetensor::FindIndexingLoops, freetensor::MarkStores, freetensor::StructuralFeature, freetensor::CountScopeLen, freetensor::AnalyzeVersion, freetensor::Derivative, freetensor::PropagateRequires, freetensor::PropagateProvides, freetensor::CodeGenC< Stream >, freetensor::CodeGenC< CodeGenStream >, freetensor::MatchVisitor, freetensor::FindLoopInvariantWrites, freetensor::CheckSideEffect, freetensor::ThrowIndirectAccess, and freetensor::PrintVisitor.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in freetensor::AsDNF, freetensor::MatchVisitor, freetensor::GenPBExpr, and freetensor::PrintVisitor.
|
inlineprotectedvirtual |
Reimplemented in freetensor::AllUses, freetensor::CompUniqueBoundsCombination, freetensor::FindIndexingLoops, freetensor::FindLoopVariance, freetensor::CodeGenC< Stream >, freetensor::CodeGenC< CodeGenStream >, freetensor::MatchVisitor, freetensor::GenPBExpr, freetensor::FindInnerMostScope, and freetensor::PrintVisitor.
|
inlineprotectedvirtual |
Reimplemented in freetensor::FindMemType, freetensor::CompAccessBound, freetensor::FindAccessPoint, freetensor::FindLoopVariance, freetensor::StructuralFeature, freetensor::SymbolTable< Visitor >, freetensor::SymbolTable< TrackStmt< Visitor > >, freetensor::CountScopeLen, freetensor::AnalyzeVersion, freetensor::CountNames, freetensor::PropagateRequires, freetensor::PropagateProvides, freetensor::CodeGenC< Stream >, freetensor::CodeGenC< CodeGenStream >, freetensor::CodeGenCPU, freetensor::MatchVisitor, freetensor::FindLoopInvariantWrites, and freetensor::PrintVisitor.
|
protectedvirtual |
Reimplemented in freetensor::PropagateRequires, freetensor::PropagateProvides, freetensor::InitExprVari, freetensor::Derivative, freetensor::AnalyzeLinear, freetensor::AsDNF, freetensor::CompUniqueBoundsCombination, freetensor::FindLoopVariance, freetensor::StructuralFeature, and freetensor::GenPBExpr.
|
protectedvirtual |
Reimplemented in freetensor::FindStmtById, freetensor::FindStmtByFilter, freetensor::StructuralFeature, freetensor::TrackStmt< Visitor >, freetensor::PrintVisitor, freetensor::AllUses, freetensor::CheckNameToDefMapping, freetensor::CheckReadToParallelScopeMapping, freetensor::CompAccessBound, and freetensor::CheckLoopOrder.