#include <Mapping.h>
|
| MappingGraph ()=default |
|
| MappingGraph (const MappingGraph &src)=default |
|
| MappingGraph (MappingGraph &&)=default |
|
MappingGraph & | operator= (const MappingGraph &rhs)=default |
|
MappingGraph & | operator= (MappingGraph &&)=default |
|
std::pair< NodeDescriptor, bool > | insert (MappingGraphNode node) |
|
std::pair< NodeDescriptor, bool > | insert (NodeDescriptor fanin, MappingGraphNode node) |
|
bool | contains (NodeDescriptor node) |
|
bool | contains (std::ptrdiff_t id) |
|
template<typename NodeDescList = std::vector<NodeDescriptor>> |
std::pair< NodeDescriptor, bool > | insertMultiFanin (NodeDescList fanins, MappingGraphNode node) |
|
void | link (MappingGraph::NodeDescriptor driver, MappingGraph::NodeDescriptor fanout) |
|
void | unlink (MappingGraph::NodeDescriptor driver, MappingGraph::NodeDescriptor fanout) |
|
void | erase (MappingGraph::NodeDescriptor n) |
|
MappingGraphNode & | getNodeRef (NodeDescriptor ndesc) |
|
const MappingGraphNode & | getNodeRef (NodeDescriptor ndesc) const |
|
auto & | fanout (NodeDescriptor ndesc) const |
|
auto & | fanin (const NodeDescriptor ndesc) const |
|
std::vector< VerifyMessage > | verify (const MRRG &mrrg, const ToMRRGVertexMap &toMRRG) const |
|
void | printDot (std::ostream &os, const MRRG &mrrg, const OpGraph &opgraph, const ToMRRGVertexMap &toMRRG, const ConfigStore &archAttributes) const |
|
std::ptrdiff_t | size () const |
|
auto & | allNodes () const |
|
Definition at line 129 of file Mapping.h.
◆ ToMRRGVertexMap
◆ MappingGraph() [1/3]
MappingGraph::MappingGraph |
( |
| ) |
|
|
default |
◆ MappingGraph() [2/3]
◆ MappingGraph() [3/3]
◆ allNodes()
auto& MappingGraph::allNodes |
( |
| ) |
const |
|
inline |
◆ contains() [1/2]
◆ contains() [2/2]
bool MappingGraph::contains |
( |
std::ptrdiff_t |
id | ) |
|
|
inline |
◆ erase()
Remove the node from the graph. Disconnects all fanout & fanin
Definition at line 340 of file Mapping.cpp.
◆ fanin()
Gives a list of elements that fan-out from the given descriptor. Allows a MappingGraph to be used with most graph algorithms.
Definition at line 207 of file Mapping.h.
◆ fanout()
Gives a list of elements that fan-out from the given descriptor. Allows a MappingGraph to be used with most graph algorithms.
Definition at line 201 of file Mapping.h.
◆ getNodeRef() [1/2]
Get an actual node object from your descriptor. Undefined Behaviour if this node is not in this MappingGraph.
Definition at line 359 of file Mapping.cpp.
◆ getNodeRef() [2/2]
◆ insert() [1/2]
Add node
to this MappingGraph by std::move
ing it to the heap. Overloads with a fanin(s)
argument also add link(s) from the node(s) in that argument.
Definition at line 303 of file Mapping.cpp.
◆ insert() [2/2]
◆ insertMultiFanin()
template<typename NodeDescList = std::vector<NodeDescriptor>>
◆ link()
For creating and destroying edges between nodes in an MappingGraph All may perform some checks (especially when unlinking) on the validity of the graph, throwing if something is wrong. Overall, better than manipulating the fanout & fanin lists directly.
Definition at line 317 of file Mapping.cpp.
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ printDot()
Print a machine readable text form of this graph. Uses the classic .dot format, openable with xdot and other programs.
Definition at line 419 of file Mapping.cpp.
◆ size()
std::ptrdiff_t MappingGraph::size |
( |
| ) |
const |
The number of nodes. No guarantee on time complexity.
Definition at line 313 of file Mapping.cpp.
◆ unlink()
◆ verify()
Conduct BFS from all the functional units, in both directions (fanouts and fanins), any unvisited routing units after BFS should be removed from the graph.
Definition at line 367 of file Mapping.cpp.
◆ deletedIds
std::unordered_set<int> MappingGraph::deletedIds = {} |
|
private |
◆ fanin_lists
◆ fanout_lists
◆ nextId
◆ nodes
The documentation for this class was generated from the following files:
- /media/maple_tb_disk/wicklun2/cgra-me-website/cgra-me/inc/CGRA/Mapping.h
- /media/maple_tb_disk/wicklun2/cgra-me-website/cgra-me/src/core/Mapping.cpp