OpenASIP
2.0
|
#include <ControlDependenceEdge.hh>
Public Types | |
enum | CDGEdgeType { CDEP_EDGE_NORMAL, CDEP_EDGE_TRUE, CDEP_EDGE_FALSE, CDEP_EDGE_LOOPCLOSE } |
Public Member Functions | |
ControlDependenceEdge (CDGEdgeType edgeType=CDEP_EDGE_NORMAL) | |
virtual | ~ControlDependenceEdge () |
TCEString | toString () const |
bool | isNormalEdge () const |
bool | isTrueEdge () const |
bool | isFalseEdge () const |
bool | isLoopCloseEdge () const |
CDGEdgeType | edgeType () const |
Public Member Functions inherited from GraphEdge | |
GraphEdge () | |
GraphEdge (const GraphEdge &edge) | |
virtual GraphEdge * | clone () const |
virtual | ~GraphEdge () |
virtual int | edgeID () const |
virtual TCEString | dotString () const |
virtual bool | isBackEdge () const |
int | weight () const |
void | setWeight (int w) |
Protected Member Functions | |
void | invertEdgePredicate () |
Private Attributes | |
CDGEdgeType | edgeType_ |
Friends | |
class | ProgramDependenceGraph |
Edge of the control dependence graph (control dependence edge). Each edge implies control dependency.
Definition at line 44 of file ControlDependenceEdge.hh.
Enumerator | |
---|---|
CDEP_EDGE_NORMAL | |
CDEP_EDGE_TRUE | |
CDEP_EDGE_FALSE | |
CDEP_EDGE_LOOPCLOSE |
Definition at line 47 of file ControlDependenceEdge.hh.
|
inline |
Definition at line 53 of file ControlDependenceEdge.hh.
|
virtual |
Definition at line 37 of file ControlDependenceEdge.cc.
|
inline |
|
protected |
Inverts the predicate of the edge
Definition at line 64 of file ControlDependenceEdge.cc.
References CDEP_EDGE_FALSE, CDEP_EDGE_TRUE, edgeType_, isNormalEdge(), and isTrueEdge().
Referenced by ProgramDependenceGraph::removeGuardedJump().
|
inline |
Definition at line 62 of file ControlDependenceEdge.hh.
References CDEP_EDGE_FALSE, and edgeType_.
Referenced by ControlDependenceGraph::detectControlDependencies(), ProgramDependenceEdge::dotString(), ControlDependenceGraph::eliminateMultipleOutputs(), and toString().
|
inline |
Definition at line 63 of file ControlDependenceEdge.hh.
References CDEP_EDGE_LOOPCLOSE, and edgeType_.
Referenced by ProgramDependenceEdge::ProgramDependenceEdge(), and toString().
|
inline |
Definition at line 60 of file ControlDependenceEdge.hh.
References CDEP_EDGE_NORMAL, and edgeType_.
Referenced by invertEdgePredicate().
|
inline |
Definition at line 61 of file ControlDependenceEdge.hh.
References CDEP_EDGE_TRUE, and edgeType_.
Referenced by ControlDependenceGraph::detectControlDependencies(), ProgramDependenceEdge::dotString(), ControlDependenceGraph::eliminateMultipleOutputs(), invertEdgePredicate(), ProgramDependenceGraph::processPredicate(), and toString().
|
virtual |
Returns a predicate of edge as string.
Reimplemented from GraphEdge.
Definition at line 44 of file ControlDependenceEdge.cc.
References isFalseEdge(), isLoopCloseEdge(), and isTrueEdge().
Referenced by ProgramDependenceEdge::toString().
|
friend |
Definition at line 46 of file ControlDependenceEdge.hh.
|
private |
Definition at line 69 of file ControlDependenceEdge.hh.
Referenced by edgeType(), invertEdgePredicate(), isFalseEdge(), isLoopCloseEdge(), isNormalEdge(), and isTrueEdge().