47#ifdef DEBUG_BUBBLEFISH_SCHEDULER
48#define DEBUG_LOOP_SCHEDULER
54#ifdef DEBUG_LOOP_SCHEDULER
56 std::cerr <<
"\t\t\tEarly bypass for: " <<
src_.
toString()
85#ifdef DEBUG_BUBBLEFISH_SCHEDULER
86 std::cerr <<
"\t\tEarly bypass ok for: " <<
dst_.
toString() << std::endl;
#define assert(condition)
void bypassed(MoveNode &src, MoveNode &dst)
void undidBypass(MoveNode &, MoveNode &dst)
BF2ScheduleFront * currentFront()
bool operator()() override
void undoOnlyMe() override
virtual void mightBeReady(MoveNode &mn)
DataDependenceGraph & ddg()
const TTAMachine::Machine & targetMachine() const
virtual NodeSet predecessors(const Node &node, bool ignoreBackEdges=false, bool ignoreForwardEdges=false) const
std::set< GraphNode *, typename GraphNode::Comparator > NodeSet
std::string toString() const
bool isDestinationVariable() const
bool runPostChild(Reversible *preChild)
bool runPreChild(Reversible *preChild)