Class DepInfoAnal#

Nested Relationships#

Nested Types#

Class Documentation#

class DepInfoAnal#

Public Types

typedef ModifyVariableMap<SelectLoop> ModifyVariableInfo#
typedef CollectObject<DepInfo> DepInfoCollect#

Public Functions

DepInfoAnal(AstInterface &fa, DependenceTesting &h)#
DepInfoAnal(AstInterface &fa)#
inline const ModifyVariableInfo &GetModifyVariableInfo() const#
StmtRefDep GetStmtRefDep(const AstNodePtr &s1, const AstNodePtr &r1, const AstNodePtr &s2, const AstNodePtr &r2)#
const LoopDepInfo &GetLoopInfo(const AstNodePtr &s)#
const LoopDepInfo &GetStmtInfo(const AstNodePtr &s)#
void ComputePrivateScalarDep(const StmtRefDep &ref, DepInfoCollect &outDeps, DepInfoCollect &inDeps)#
void ComputeGlobalScalarDep(const StmtRefDep &ref, DepInfoCollect &outDeps, DepInfoCollect &inDeps)#
void ComputeArrayDep(const StmtRefDep &ref, DepType deptype, DepInfoCollect &outDeps, DepInfoCollect &inDeps)#
void ComputeIODep(const AstNodePtr &s1, const AstNodePtr &s2, DepInfoCollect &outDeps, DepInfoCollect &inDeps, DepType t = DEPTYPE_IO)#
void ComputeCtrlDep(const AstNodePtr &s1, const AstNodePtr &s2, DepInfoCollect &outDeps, DepInfoCollect &inDeps, DepType t = DEPTYPE_CTRL)#
void ComputeDataDep(const AstNodePtr &n1, const AstNodePtr &n2, DepInfoCollect &outDeps, DepInfoCollect &inDeps, int deptype = DEPTYPE_DATA)#
inline AstInterface &get_astInterface()#
struct LoopDepInfo#

Public Functions

inline bool IsTop() const#

Public Members

DomainCond domain#
std::vector<SymbolicVar> ivars#
std::vector<SymbolicBound> ivarbounds#
class SelectLoop#

Public Functions

inline bool operator()(AstInterface &ai, const AstNodePtr &s)#
struct StmtRefDep#

Public Functions

inline StmtRefDep(const StmtRefInfo &_r1, const StmtRefInfo &_r2, const AstNodePtr &l, int level)#

Public Members

StmtRefInfo r1#
StmtRefInfo r2#
AstNodePtr commLoop#
int commLevel#
struct StmtRefInfo#

Public Functions

inline StmtRefInfo(const AstNodePtr &s, const AstNodePtr &r)#

Public Members

AstNodePtr stmt#
AstNodePtr ref#