Go to the documentation of this file.
33 #ifndef TTA_SEQUENTIAL_SCHEDULER_HH
34 #define TTA_SEQUENTIAL_SCHEDULER_HH
111 std::vector<TTAProgram::BasicBlock*>& basicBlocks,
112 std::vector<int>& bbAddresses);
116 std::vector<TTAProgram::BasicBlock*>& basicBlocks,
117 std::vector<int>& bbAddresses);
void unscheduleInputOperandTempMoves(MoveNode &operandMove, RegisterCopyAdder::AddedRegisterCopies ®Copies)
int scheduleOperandWrites(int cycle, MoveNodeGroup &moves, RegisterCopyAdder::AddedRegisterCopies ®Copies)
SequentialScheduler(InterPassData &data)
virtual std::string longDescription() const
SimpleResourceManager * rm_
Resource Manager of the currently scheduled BB.
const TTAMachine::Machine * targetMachine_
The target machine we are scheduling the program against.
int scheduleMove(int earliestCycle, MoveNode &move)
int scheduleInputOperandTempMoves(int cycle, MoveNode &operandMove, RegisterCopyAdder::AddedRegisterCopies ®Copies)
int scheduleResultTempMoves(int cycle, MoveNode &resultMove, RegisterCopyAdder::AddedRegisterCopies ®Copies)
virtual ~SequentialScheduler()
virtual std::string shortDescription() const
virtual void handleBasicBlock(TTAProgram::BasicBlock &bb, const TTAMachine::Machine &targetMachine, TTAProgram::InstructionReferenceManager &irm, BasicBlockNode *bbn=NULL)
void copyBasicBlocksToProcedure(TTAProgram::Procedure &cs, std::vector< TTAProgram::BasicBlock * > &basicBlocks, std::vector< int > &bbAddresses)
int scheduleRRTempMoves(int cycle, MoveNode ®ToRegMove, RegisterCopyAdder::AddedRegisterCopies ®Copies)
int scheduleResultReads(int triggerCycle, MoveNodeGroup &moves, RegisterCopyAdder::AddedRegisterCopies ®Copies)
void handleProcedure(TTAProgram::Procedure &procedure, const TTAMachine::Machine &targetMachine)
MoveNodeSelector * selector_
void createBasicBlocks(TTAProgram::Procedure &cs, std::vector< TTAProgram::BasicBlock * > &basicBlocks, std::vector< int > &bbAddresses)
void unschedule(MoveNode &moveNode)
int scheduleOperation(MoveNodeGroup &moves, int earliestCycle)
int scheduleRRMove(int cycle, MoveNode &moveNode)