|
OpenASIP 2.2
|
#include <SequentialMoveNodeSelector.hh>


Public Member Functions | |
| SequentialMoveNodeSelector (TTAProgram::BasicBlock &bb) | |
| virtual | ~SequentialMoveNodeSelector () |
| virtual MoveNodeGroup | candidates () |
| virtual void | notifyScheduled (MoveNode &node) |
| void | mightBeReady (MoveNode &node) |
Public Member Functions inherited from MoveNodeSelector | |
| 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().