56#ifdef DEBUG_BUBBLEFISH_SCHEDULER
57 static int counter = 0;
58 static int counter2 = 0;
65#ifdef DEBUG_BUBBLEFISH_SCHEDULER
66 std::cerr <<
"too late cycle for loop bypass" << std::endl;
86#ifdef DEBUG_BUBBLEFISH_SCHEDULER
96#ifdef DEBUG_BUBBLEFISH_SCHEDULER
97 std::cerr <<
"\t\t\tTried ordinary dre: " <<
dred_ << std::endl;
100#ifdef DEBUG_BUBBLEFISH_SCHEDULER
101 std::cerr <<
"\t\t\tsrccycle: " << srcCycle << std::endl;
103 if (srcCycle >= (
int)
ii()) {
107 if (
ddg().latestCycle(
src_) >= (
signed)
ii()) {
118#ifdef DEBUG_BUBBLEFISH_SCHEDULER
119 std::cerr <<
"\t\t\tundoing unscheduling of src" << std::endl;
124#ifdef DEBUG_BUBBLEFISH_SCHEDULER
126 <<
" to cycle: " << srcCycle
127 <<
" after post-pass bypass move failed" << std::endl;
134#ifdef DEBUG_BUBBLEFISH_SCHEDULER
135 std::cerr <<
"\t\t\tundid unscheduling of src" << std::endl;
143 writesJumpGuard(
dst_))) {
162#ifdef DEBUG_BUBBLEFISH_SCHEDULER
163 std::cerr <<
"\t\tScheduling post-pass bypassed move failed:"
176#ifdef DEBUG_BUBBLEFISH_SCHEDULER
177 std::cerr <<
"isloopbypass?" <<
loopBypass_ << std::endl;
178 std::cerr <<
"\t\t\tPerforming unmerge user of: "
182#ifdef DEBUG_BUBBLEFISH_SCHEDULER
183 std::cerr <<
"\t\t\tPerformed unmerge user of: "
#define assert(condition)
DataDependenceGraph & ddg()
bool operator()() override
void undoOnlyMe() override
virtual void writeToDotFile(const TCEString &fileName) const
bool isDestinationOperation() const
std::string toString() const
TTAProgram::Move & move()
bool isSourceOperation() const
bool runPostChild(Reversible *preChild)
void undoAndRemovePreChildren()
bool runPreChild(Reversible *preChild)
bool isControlFlowMove() const
Terminal & source() const
Terminal & destination() const
virtual const TTAMachine::FunctionUnit & functionUnit() const