OpenASIP
2.0
|
#include <DDGMoveNodeSelector.hh>
Public Member Functions | |
DDGMoveNodeSelector (TTAProgram::BasicBlock &bb, const TTAMachine::Machine &machine) | |
DDGMoveNodeSelector (DataDependenceGraph &bigDDG, TTAProgram::BasicBlock &bb, const TTAMachine::Machine &machine) | |
DDGMoveNodeSelector (DataDependenceGraph &ddg, const TTAMachine::Machine &machine) | |
virtual | ~DDGMoveNodeSelector () |
virtual MoveNodeGroup | candidates () |
virtual void | notifyScheduled (MoveNode &node) |
virtual DataDependenceGraph & | dataDependenceGraph () |
void | mightBeReady (MoveNode &node) |
Public Member Functions inherited from MoveNodeSelector | |
MoveNodeSelector () | |
virtual | ~MoveNodeSelector () |
Private Member Functions | |
bool | isReadyToBeScheduled (MoveNode &node) const |
void | initializeReadylist () |
Initializes ready list from nodes that are ready. More... | |
Private Attributes | |
DataDependenceGraph * | ddg_ |
The data dependence graph built from the basic block. More... | |
PQType | readyList_ |
The prioritized ready list. More... | |
bool | ddgOwned_ |
Selects move nodes from a basic block and prioritizes move nodes on the critical path of the data dependence graph.
Definition at line 72 of file DDGMoveNodeSelector.hh.
DDGMoveNodeSelector< PQType >::DDGMoveNodeSelector | ( | TTAProgram::BasicBlock & | bb, |
const TTAMachine::Machine & | machine | ||
) |
DDGMoveNodeSelector< PQType >::DDGMoveNodeSelector | ( | DataDependenceGraph & | bigDDG, |
TTAProgram::BasicBlock & | bb, | ||
const TTAMachine::Machine & | machine | ||
) |
DDGMoveNodeSelector< PQType >::DDGMoveNodeSelector | ( | DataDependenceGraph & | ddg, |
const TTAMachine::Machine & | machine | ||
) |
|
virtual |
|
virtual |
Returns a group of move nodes which should be scheduled next.
By default returns an empty group. A non-empty group is guaranteed to contain at least one unscheduled move, but not all of them necessarily are.
Implements MoveNodeSelector.
|
virtual |
|
private |
Initializes ready list from nodes that are ready.
|
private |
|
virtual |
This should be called by the client when some incoming dependence to a moveNode is removed.
node | Node which has lost some incoming dependence |
Implements MoveNodeSelector.
|
virtual |
This should be called by the client as soon as a MoveNode is scheduled in order to update the internal state of the selector.
node | The scheduled MoveNode. |
Implements MoveNodeSelector.
|
private |
The data dependence graph built from the basic block.
Definition at line 98 of file DDGMoveNodeSelector.hh.
|
private |
Definition at line 102 of file DDGMoveNodeSelector.hh.
|
private |
The prioritized ready list.
Definition at line 100 of file DDGMoveNodeSelector.hh.