Go to the documentation of this file.
51 #ifdef DEBUG_BUBBLEFISH_SCHEDULER
52 std::cerr <<
"\t\t\t\t\tDestination operand index mismatch"
70 if (removedPrologMN != NULL) {
78 #ifdef DEBUG_BUBBLEFISH_SCHEDULER
79 std::cerr <<
"\t\t\t\tShareOpWithSched Saving prolog bus: "
81 std::cerr <<
"\t\t\t\t\tProlog move: " << removedPrologMN->
toString()
87 if (BFShareOperand::operator()()) {
90 #ifdef DEBUG_BUBBLEFISH_SCHEDULER
91 std::cerr <<
"\t\t\t\t\tShared operand ok!" << std::endl;
98 #ifdef DEBUG_BUBBLEFISH_SCHEDULER
99 std::cerr <<
"\t\t\t\t\tShare operand failed!" << std::endl;
106 #ifdef DEBUG_BUBBLEFISH_SCHEDULER
virtual int immediateWriteCycle(const MoveNode &) const
virtual void unassign(MoveNode &mn, bool disposePrologCopy=true)
virtual bool assign(int cycle, MoveNode &, const TTAMachine::Bus *bus=nullptr, const TTAMachine::FunctionUnit *srcFU_=nullptr, const TTAMachine::FunctionUnit *dstFU=nullptr, const TTAMachine::Bus *prologBus=nullptr, int immWriteCycle=-1, int prologImmWriteCycle=-1, const TTAMachine::ImmediateUnit *immu=nullptr, int immRegIndex=-1, bool ignoreGuardWriteCycle=false)
virtual TCEString name() const
MoveNodeDuplicator & duplicator() const
std::string toString() const
virtual int index() const
Terminal & destination() const
virtual bool operator()()
virtual void undoOnlyMe()
const TTAMachine::Bus & bus() const
virtual void dropNode(Node &node)
const TTAMachine::Bus * prologBus_
virtual bool isImmediateRegister() const
virtual int operationIndex() const
SimpleResourceManager * prologRM() const
void nodeAndCopyKilled(MoveNode &mn)
virtual const TTAMachine::ImmediateUnit & immediateUnit() const
DataDependenceGraph & ddg()
const TTAMachine::Bus * originalRemovedBus_
const TTAMachine::ImmediateUnit * immu_
virtual void undoOnlyMe()
SimpleResourceManager & rm() const
MoveNode * getMoveNode(MoveNode &mn)
TTAProgram::Move & move()
void nodeResurrected(MoveNode &mn)
Terminal & source() const
void restoreNodeFromParent(GraphNode &node)