#include <ManagerICFG.hpp>

The AnnotationManager for ICFGStandard. This class can build an ICFGStandard, (eventually) read one in from a file, and write one out to a file.
Definition at line 45 of file ManagerICFG.hpp.
typedef std::map<OA_ptr<CFG::Node>,OA_ptr<Node> > OA::ICFG::ManagerICFGStandard::NodeToNodeMap [private] |
Definition at line 83 of file ManagerICFG.hpp.
| OA::ICFG::ManagerICFGStandard::ManagerICFGStandard | ( | OA_ptr< ICFGIRInterface > | _ir | ) |
Definition at line 27 of file ManagerICFG.cpp.
References OA::ICFG::debug, and OA_DEBUG_CTRL_MACRO.
| OA::ICFG::ManagerICFGStandard::~ManagerICFGStandard | ( | ) | [inline] |
Definition at line 48 of file ManagerICFG.hpp.
| OA_ptr< std::list< OA_ptr< CFG::Node > > > OA::ICFG::ManagerICFGStandard::break_out_calls | ( | OA_ptr< CFG::Node > | cfgNode | ) | [private] |
Definition at line 187 of file ManagerICFG.cpp.
References stmt_has_call().
Referenced by performAnalysis().

| OA_ptr< Node > OA::ICFG::ManagerICFGStandard::create_icfg_node | ( | OA_ptr< ICFG > | icfg, | |
| ProcHandle | proc, | |||
| NodeType | pType, | |||
| OA_ptr< CFG::Node > | cfgNode | |||
| ) | [private] |
Definition at line 72 of file ManagerICFG.cpp.
References mCFGNodeToICFGNode.
Referenced by handle_call_node(), and performAnalysis().
| StmtHandle OA::ICFG::ManagerICFGStandard::get_call_stmt | ( | OA_ptr< CFG::Node > | cfgNode | ) | [private] |
Definition at line 58 of file ManagerICFG.cpp.
References stmt_has_call().
Referenced by handle_call_node(), and performAnalysis().

| OA_ptr< Node > OA::ICFG::ManagerICFGStandard::handle_call_node | ( | OA_ptr< ICFG > | icfg, | |
| ProcHandle | proc, | |||
| OA_ptr< CFG::Node > | cfgNodeNew, | |||
| OA_ptr< Node > | prevICFGNode, | |||
| OA_ptr< Node > & | firstICFGNode, | |||
| std::list< ProcHandle > & | worklist | |||
| ) | [private] |
The returned prevICFGNode (last one in sequence) is returned. firstICFGNode is set to first node in sequence.
Definition at line 87 of file ManagerICFG.cpp.
References OA::ICFG::CALL_EDGE, OA::ICFG::CALL_NODE, OA::ICFG::CALL_RETURN_EDGE, OA::ICFG::CFLOW_EDGE, OA::OA_ptr< T >::convert(), create_icfg_node(), OA::ICFG::ENTRY_NODE, OA::ICFG::EXIT_NODE, get_call_stmt(), mCallGraph, mCFGNodeToICFGNode, mEachCFG, mIR, OA::OA_ptr< T >::ptrEqual(), OA::ICFG::RETURN_EDGE, and OA::ICFG::RETURN_NODE.
Referenced by performAnalysis().

| OA_ptr< ICFG > OA::ICFG::ManagerICFGStandard::performAnalysis | ( | OA_ptr< IRProcIterator > | procIter, | |
| OA_ptr< CFG::EachCFGInterface > | eachCFG, | |||
| OA_ptr< CallGraph::CallGraphInterface > | cGraph | |||
| ) |
Creates an ICFG based upon the CFGs for the program
Definition at line 223 of file ManagerICFG.cpp.
References break_out_calls(), OA::ICFG::CFLOW_EDGE, OA::ICFG::CFLOW_NODE, OA::OA_ptr< T >::convert(), create_icfg_node(), OA::ICFG::debug, OA::ICFG::ENTRY_NODE, OA::ICFG::EXIT_NODE, get_call_stmt(), handle_call_node(), mCallGraph, mCFGNodeToICFGNode, mEachCFG, mIR, and stmt_has_call().

| bool OA::ICFG::ManagerICFGStandard::stmt_has_call | ( | StmtHandle | stmt | ) | [private] |
Definition at line 35 of file ManagerICFG.cpp.
References OA::ICFG::debug, mCallGraph, and mIR.
Referenced by break_out_calls(), get_call_stmt(), and performAnalysis().
Definition at line 78 of file ManagerICFG.hpp.
Referenced by handle_call_node(), performAnalysis(), and stmt_has_call().
Definition at line 84 of file ManagerICFG.hpp.
Referenced by create_icfg_node(), handle_call_node(), and performAnalysis().
Definition at line 77 of file ManagerICFG.hpp.
Referenced by handle_call_node(), and performAnalysis().
Definition at line 76 of file ManagerICFG.hpp.
Referenced by handle_call_node(), performAnalysis(), and stmt_has_call().
1.7.1