OpenASIP
2.0
|
#include <GraphEdge.hh>
Classes | |
struct | Comparator |
Public Member Functions | |
GraphEdge () | |
GraphEdge (const GraphEdge &edge) | |
virtual GraphEdge * | clone () const |
virtual | ~GraphEdge () |
virtual int | edgeID () const |
virtual TCEString | toString () const |
virtual TCEString | dotString () const |
virtual bool | isBackEdge () const |
int | weight () const |
void | setWeight (int w) |
Private Attributes | |
int | edgeID_ |
int | weight_ |
Static Private Attributes | |
static int | edgeCounter_ = 0 |
Edge of the graph-based program representation. Each edge identifies a relation (dependency, ordering constraint) between two moves of the program.
Edges are pure carriers of information about a node dependency. They do not store head and tail nodes. Edges are independent objects owned by a graph. They do not store a backpointer to their parent graph. All topological information about the graph is stored in ProgramGraph; nothing is distributed across nodes and edges.
Definition at line 52 of file GraphEdge.hh.
GraphEdge::GraphEdge | ( | ) |
Definition at line 40 of file GraphEdge.cc.
GraphEdge::GraphEdge | ( | const GraphEdge & | edge | ) |
Definition at line 42 of file GraphEdge.cc.
|
virtual |
Definition at line 38 of file GraphEdge.cc.
|
virtual |
Clones edge. Needed for dynamic binding, when copying instances through the base class.
Reimplemented in OperationDAGEdge.
Definition at line 51 of file GraphEdge.cc.
References __func__.
|
virtual |
Returns the string that should be placed in the edge's properties section in the GraphViz Dot string.
This can be overridden in the derived class to add different properties (e.g., colors, etc.) to different type of edges. The default implementation only sets the label property.
Reimplemented in MIDDGEdge, and ProgramDependenceEdge.
Definition at line 81 of file GraphEdge.cc.
References toString().
Referenced by ResourceConstraintAnalyzer::dumpGraphWithStats().
|
virtual |
Return edge ID as integer.
Definition at line 92 of file GraphEdge.cc.
References edgeID_.
Referenced by BoostGraph< GraphNode, GraphEdge >::RemovedEdgeDatum::operator<(), and toString().
|
inlinevirtual |
Reimplemented in DataDependenceEdge, and ControlFlowEdge.
Definition at line 63 of file GraphEdge.hh.
|
inline |
Definition at line 74 of file GraphEdge.hh.
References weight_.
Referenced by DataDependenceGraph::edgeWeight(), DataDependenceGraph::setEdgeWeightHeuristics(), and DataDependenceGraph::setMachine().
|
virtual |
Return the label of the edge as a string.
Used for printing graph in GraphViz .dot file.
Reimplemented in MIDDGEdge, ControlFlowEdge, DataDependenceEdge, ProgramDependenceEdge, ControlDependenceEdge, and OperationDAGEdge.
Definition at line 66 of file GraphEdge.cc.
References edgeID(), and Conversion::toString().
Referenced by dotString().
|
inline |
Definition at line 73 of file GraphEdge.hh.
References weight_.
Referenced by DataDependenceGraph::edgeWeight().
|
staticprivate |
Definition at line 78 of file GraphEdge.hh.
|
private |
Definition at line 76 of file GraphEdge.hh.
Referenced by edgeID(), and GraphEdge::Comparator::operator()().
|
private |
Definition at line 77 of file GraphEdge.hh.
Referenced by setWeight(), and weight().