OpenASIP
2.0
|
#include <MoveNodeSelector.hh>
Public Member Functions | |
MoveNodeSelector () | |
virtual | ~MoveNodeSelector () |
virtual MoveNodeGroup | candidates ()=0 |
virtual void | notifyScheduled (MoveNode &node)=0 |
virtual void | mightBeReady (MoveNode &node)=0 |
Move node selector is an abstraction to ready operation list in a list scheduler.
MoveNodeSelectors are responsible in maintaining the ready list and updating it according to scheduling progress.
Definition at line 45 of file MoveNodeSelector.hh.
MoveNodeSelector::MoveNodeSelector | ( | ) |
|
virtual |
|
pure 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.
Implemented in DDGMoveNodeSelector< PQType >, CriticalPathBBMoveNodeSelector, BUMoveNodeSelector, and SequentialMoveNodeSelector.
Definition at line 58 of file MoveNodeSelector.cc.
|
pure 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 |
Implemented in DDGMoveNodeSelector< PQType >, CriticalPathBBMoveNodeSelector, BUMoveNodeSelector, and SequentialMoveNodeSelector.
Definition at line 82 of file MoveNodeSelector.cc.
References assert.
Referenced by CycleLookBackSoftwareBypasser::removeDeadResults(), and RegisterRenamer::renameLiveRange().
|
pure 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. |
Implemented in DDGMoveNodeSelector< PQType >, CriticalPathBBMoveNodeSelector, BUMoveNodeSelector, and SequentialMoveNodeSelector.
Definition at line 70 of file MoveNodeSelector.cc.
References assert.
Referenced by BasicBlockScheduler::notifyScheduled().