|
Jlm
|
#include <cfg.hpp>

Public Member Functions | |
| ~ControlFlowGraph () noexcept=default | |
| ControlFlowGraph (InterProceduralGraphModule &im) | |
| ControlFlowGraph (const ControlFlowGraph &)=delete | |
| ControlFlowGraph (ControlFlowGraph &&)=delete | |
| ControlFlowGraph & | operator= (const ControlFlowGraph &)=delete |
| ControlFlowGraph & | operator= (ControlFlowGraph &&)=delete |
| const_iterator | begin () const |
| iterator | begin () |
| const_iterator | end () const |
| iterator | end () |
| EntryNode * | entry () const noexcept |
| ExitNode * | exit () const noexcept |
| BasicBlock * | add_node (std::unique_ptr< BasicBlock > bb) |
| ControlFlowGraph::iterator | find_node (BasicBlock *bb) |
| size_t | nnodes () const noexcept |
| InterProceduralGraphModule & | module () const noexcept |
| rvsdg::FunctionType | fcttype () const |
Static Public Member Functions | |
| static ControlFlowGraph::iterator | remove_node (ControlFlowGraph::iterator &it) |
| static ControlFlowGraph::iterator | remove_node (BasicBlock *bb) |
| static std::unique_ptr< ControlFlowGraph > | create (InterProceduralGraphModule &im) |
| static std::string | ToAscii (const ControlFlowGraph &controlFlowGraph) |
Private Types | |
| using | iterator = util::PtrIterator< BasicBlock, std::unordered_set< std::unique_ptr< BasicBlock > >::iterator > |
| using | const_iterator = util::PtrIterator< const BasicBlock, std::unordered_set< std::unique_ptr< BasicBlock > >::const_iterator > |
Static Private Member Functions | |
| static std::string | ToAscii (const EntryNode &entryNode) |
| static std::string | ToAscii (const ExitNode &exitNode) |
| static std::string | ToAscii (const BasicBlock &basicBlock, const std::unordered_map< ControlFlowGraphNode *, std::string > &labels) |
| static std::string | CreateTargets (const ControlFlowGraphNode &node, const std::unordered_map< ControlFlowGraphNode *, std::string > &labels) |
| static std::unordered_map< ControlFlowGraphNode *, std::string > | CreateLabels (const std::vector< ControlFlowGraphNode * > &nodes) |
Private Attributes | |
| InterProceduralGraphModule & | module_ |
| std::unique_ptr< ExitNode > | exit_ |
| std::unique_ptr< EntryNode > | entry_ |
| std::unordered_set< std::unique_ptr< BasicBlock > > | nodes_ |
|
private |
|
private |
|
defaultnoexcept |
|
explicit |
|
delete |
|
delete |
|
inline |
|
inline |
|
inlinestatic |
|
staticprivate |
|
staticprivate |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
delete |
|
delete |
|
static |
|
static |
|
staticprivate |
|
static |
|
staticprivate |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |