Class CFG#
Defined in File CFG.h
Nested Relationships#
Nested Types#
Inheritance Relationships#
Base Type#
public DGraph(Class DGraph)
Class Documentation#
-
class CFG : public DGraph#
CFG is a DGraph (directed graph) with enhanced nodes and edges.
Each node in the CFG points to a list of statements that together represent a basic block. The entire program would be represented by a set of CFGs, one for each subroutine, and one for the main program.
Public Types
Public Functions
-
CFG(IRInterface &_ir, IRStmtIterator *si, SymHandle name, bool return_statements_allowed = true)#
-
virtual ~CFG()#
-
inline IRInterface &GetIRInterface()#
-
void dump(std::ostream &os)#
-
inline void dump()#
-
void compute_uses_sets()#
-
void compute_defs_sets()#
-
Node *splitBlock(Node*, StmtHandle)#
-
inline void connect(Node *src, Node *dst, EdgeType type, ExprHandle expr)#
Friends
- friend class Node
- friend class NonLocalsIterator
- friend class DefBlocksIterator
-
class DFSIterator : public DGraph::DFSIterator#
-
class Node : public DGraph::Node#
Public Functions
-
inline Node()#
-
inline Node(StmtHandle n)#
-
inline virtual ~Node()#
-
inline unsigned int getID()#
-
inline void add(StmtHandle h)#
-
StmtHandle erase(StmtHandle h)#
-
inline unsigned int size()#
-
inline bool empty()#
-
inline void addEndExpr(ExprHandle expr)#
-
inline ExprHandle getEndExpr()#
-
void split(StmtHandle splitPoint, Node *newBlock)#
-
inline virtual void dump(std::ostream &os)#
Friends
- friend class CFG
- friend class CFG::NodeStatementsIterator
-
inline Node()#
-
class Unexpected_Break : public Exception#
Public Functions
-
inline void report(std::ostream &os) const#
-
inline void report(std::ostream &os) const#
-
CFG(IRInterface &_ir, IRStmtIterator *si, SymHandle name, bool return_statements_allowed = true)#