25 std::set<const TTAMachine::Bus*> buses;
27 for (
auto p: dPorts) {
31 for (
auto bus: buses) {
32 for (
int i = 0; i < bus->guardCount(); i++) {
43 po->outputIndexFromGuard(*pg) ==
46 if (!po->isLegalFU(*gfu)) {
47#ifdef DEBUG_BUBBLEFISH_SCHEDULER
48 std::cerr <<
"\t\t\tFU: " << gfu->
name() <<
" not allowed for operation: " << po->toString() << std::endl;
std::shared_ptr< ProgramOperation > ProgramOperationPtr
void undoOnlyMe() override
const TTAMachine::Guard * originalGuard_
bool operator()() override
DataDependenceGraph & ddg()
const TTAMachine::Machine & targetMachine() const
void guardConverted(MoveNode &guardSrc, MoveNode &dst)
MoveNode * onlyRegisterRawSource(const MoveNode &mn, int allowGuardEdges=2, int backEdges=0) const
void guardRestored(MoveNode &guardSrc, MoveNode &dst)
static void appendConnectedSourceBuses(const TTAMachine::Port &port, std::set< const TTAMachine::Bus * > &buses)
static PortSet findPossibleDestinationPorts(const TTAMachine::Machine &mach, const MoveNode &node)
ProgramOperationPtr sourceOperationPtr() const
TTAProgram::Move & move()
virtual TCEString name() const
FunctionUnit * parentUnit() const
virtual TCEString name() const
virtual bool hasOperation(const std::string &name) const
virtual bool isInverted() const
const TTAMachine::Guard & guard() const
MoveGuard & guard() const
Terminal & source() const
void setGuard(MoveGuard *guard)
virtual int operationIndex() const