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

#include <deps.h>

Public Member Functions

 AnalyzeDeps (const std::vector< Ref< AccessPoint > > &reads, const std::vector< Ref< AccessPoint > > &writes, const std::unordered_map< ID, std::vector< IterAxis > > &scope2coord, const std::unordered_map< std::string, std::vector< ID > > &noDepsLists, Lazy< LoopVariExprMap > &variantExpr, const std::vector< FindDepsDir > &direction, const FindDepsCallback &found, FindDepsMode mode, DepType depType, const FindDepsAccPtFilter &earlierFilter, const FindDepsAccPtFilter &laterFilter, const FindDepsFilter &filter, bool ignoreReductionWAW, bool eraseOutsideVarDef, bool noProjectOutPrivateAxis)
 
void genTasks ()
 
const std::vector< std::function< void()> > & tasks () const
 

Static Public Member Functions

static std::string makeIterList (const std::vector< IterAxis > &list, int n)
 
static std::string makeNegIterMap (const std::vector< IterAxis > &list, int n)
 
static std::string makeNdList (const std::string &name, int n)
 
static std::vector< std::pair< std::string, std::string > > makeAccList (GenPBExpr &genPBExpr, const std::vector< Expr > &list, GenPBExpr::VarMap &externals)
 
static std::string makeCond (GenPBExpr &genPBExpr, GenPBExpr::VarMap &externals, bool eraseOutsideVarDef, const AccessPoint &ap)
 
static PBMap makeAccMapStatic (const Ref< PBCtx > &presburger, const AccessPoint &p, int iterDim, int accDim, const std::string &extSuffix, GenPBExpr::VarMap &externals, const ASTHashSet< Expr > &noNeedToBeVars, bool eraseOutsideVarDef)
 

Detailed Description

Find RAW, WAR and WAW dependences

Constructor & Destructor Documentation

◆ AnalyzeDeps()

freetensor::AnalyzeDeps::AnalyzeDeps ( const std::vector< Ref< AccessPoint > > &  reads,
const std::vector< Ref< AccessPoint > > &  writes,
const std::unordered_map< ID, std::vector< IterAxis > > &  scope2coord,
const std::unordered_map< std::string, std::vector< ID > > &  noDepsLists,
Lazy< LoopVariExprMap > &  variantExpr,
const std::vector< FindDepsDir > &  direction,
const FindDepsCallback found,
FindDepsMode  mode,
DepType  depType,
const FindDepsAccPtFilter earlierFilter,
const FindDepsAccPtFilter laterFilter,
const FindDepsFilter filter,
bool  ignoreReductionWAW,
bool  eraseOutsideVarDef,
bool  noProjectOutPrivateAxis 
)
inline

Member Function Documentation

◆ genTasks()

void freetensor::AnalyzeDeps::genTasks ( )

◆ makeAccList()

std::vector< std::pair< std::string, std::string > > freetensor::AnalyzeDeps::makeAccList ( GenPBExpr genPBExpr,
const std::vector< Expr > &  list,
GenPBExpr::VarMap externals 
)
static

◆ makeAccMapStatic()

PBMap freetensor::AnalyzeDeps::makeAccMapStatic ( const Ref< PBCtx > &  presburger,
const AccessPoint p,
int  iterDim,
int  accDim,
const std::string &  extSuffix,
GenPBExpr::VarMap externals,
const ASTHashSet< Expr > &  noNeedToBeVars,
bool  eraseOutsideVarDef 
)
static

◆ makeCond()

std::string freetensor::AnalyzeDeps::makeCond ( GenPBExpr genPBExpr,
GenPBExpr::VarMap externals,
bool  eraseOutsideVarDef,
const AccessPoint ap 
)
static

◆ makeIterList()

std::string freetensor::AnalyzeDeps::makeIterList ( const std::vector< IterAxis > &  list,
int  n 
)
static

◆ makeNdList()

std::string freetensor::AnalyzeDeps::makeNdList ( const std::string &  name,
int  n 
)
static

◆ makeNegIterMap()

std::string freetensor::AnalyzeDeps::makeNegIterMap ( const std::vector< IterAxis > &  list,
int  n 
)
static

◆ tasks()

const std::vector< std::function< void()> > & freetensor::AnalyzeDeps::tasks ( ) const
inline

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