Class LoopTreeNode#

Inheritance Relationships#

Base Type#

Derived Types#

Class Documentation#

class LoopTreeNode : public TreeNodeImpl<LoopTreeNode>#

Subclassed by LoopTreeCopyArray, LoopTreeDummyNode, LoopTreeLoopNode, LoopTreeRelateLoopIvar, LoopTreeReplAst, LoopTreeReplLoopVar, LoopTreeRestrLoopRange, LoopTreeRoot, LoopTreeShadowNode, LoopTreeStmtNode

Public Functions

inline virtual AstNodePtr CodeGen(const AstNodePtr &c) const#
inline virtual int LoopLevel() const#
inline virtual int IncreaseLoopLevel() const#
virtual std::string GetClassName() const = 0#
inline virtual VarInfo GetVarInfo() const#
inline virtual AstNodePtr GetOrigStmt() const#
inline virtual const LoopInfo *GetLoopInfo() const#
inline virtual LoopInfo *GetLoopInfo()#
inline virtual bool SelfRemove()#
virtual LoopTreeNode *Clone() const = 0#
LoopTreeNode *CloneTree()#
inline void Dump() const#
inline virtual std::string toString() const#
virtual AstNodePtr CodeGen() const#
inline virtual LoopTreeNode *set_preAnnot(const std::string &content)#
inline virtual LoopTreeNode *set_postAnnot(const std::string &content)#
void AttachObserver(LoopTreeObserver &o) const#
void DetachObserver(LoopTreeObserver &o) const#
void Notify(const LoopTreeObserveInfo &info) const#
unsigned NumberOfObservers() const#
inline void DumpTree() const#
std::string TreeToString() const#
inline bool IsLoop() const#
bool IsPerfectLoopNest() const#
bool ContainLoop() const#
inline LoopTreeNode *EnclosingLoop()#

Protected Functions

LoopTreeNode()#
LoopTreeNode(const LoopTreeNode &that)#
void UpdateDelete()#
void UpdateCodeGen(const AstNodePtr &res) const#
virtual ~LoopTreeNode()#
void RemoveSelf(LoopTreeNode *repl = 0)#
void RemoveTree()#

Protected Attributes

std::string preAnnot#
std::string postAnnot#

Friends

friend class LoopTreeTransform