OpenASIP
2.0
|
#include <SequentialMoveNodeSelector.hh>
Public Member Functions | |
SequentialMoveNodeSelector (TTAProgram::BasicBlock &bb) | |
virtual | ~SequentialMoveNodeSelector () |
virtual MoveNodeGroup | candidates () |
virtual void | notifyScheduled (MoveNode &node) |
void | mightBeReady (MoveNode &node) |
![]() | |
MoveNodeSelector () | |
virtual | ~MoveNodeSelector () |
Private Types | |
typedef std::list< ProgramOperation * > | ProgramOperationList |
typedef std::list< MoveNodeGroup * > | MNGList |
Private Member Functions | |
void | createMoveNodes (TTAProgram::BasicBlock &bb) |
Private Attributes | |
MNGList * | mngs_ |
MNGList::iterator | mngIter_ |
Selects move nodes from a basic block in their sequential input order.
Definition at line 47 of file SequentialMoveNodeSelector.hh.
|
private |
Definition at line 61 of file SequentialMoveNodeSelector.hh.
|
private |
Definition at line 60 of file SequentialMoveNodeSelector.hh.
SequentialMoveNodeSelector::SequentialMoveNodeSelector | ( | TTAProgram::BasicBlock & | bb | ) |
Constructor.
bb | Basic block containing moves to be selected. |
Definition at line 58 of file SequentialMoveNodeSelector.cc.
References MoveNodeGroupBuilder::build(), mngIter_, and mngs_.
|
virtual |
Definition at line 65 of file SequentialMoveNodeSelector.cc.
References mngs_, MoveNodeGroup::node(), and MoveNodeGroup::nodeCount().
|
virtual |
Gives a group of unselected movenodes to schedules.
This always returns them in order; and every one just once. Returns an empty MNG when there's no more MNGS to return.
Implements MoveNodeSelector.
Definition at line 85 of file SequentialMoveNodeSelector.cc.
References mngIter_, and mngs_.
Referenced by SequentialScheduler::handleBasicBlock().
|
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.
Definition at line 96 of file SequentialMoveNodeSelector.cc.
|
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.
Definition at line 100 of file SequentialMoveNodeSelector.cc.
Referenced by SequentialScheduler::handleBasicBlock().
|
private |
Definition at line 66 of file SequentialMoveNodeSelector.hh.
Referenced by candidates(), and SequentialMoveNodeSelector().
|
private |
Definition at line 63 of file SequentialMoveNodeSelector.hh.
Referenced by candidates(), SequentialMoveNodeSelector(), and ~SequentialMoveNodeSelector().