34#ifndef TTA_IU_BROKER_HH
35#define TTA_IU_BROKER_HH
69 int immRegIndex)
const override;
78 int immRegIndex)
const override;
88 int immRegIndex)
const override;
92 int immRegIndex)
override;
102 int immRegIndex)
const override;
109 int immRegIndex)
const override;
120 virtual std::shared_ptr<TTAProgram::TerminalImmediate>
virtual void unassign(MoveNode &node) override
virtual std::shared_ptr< TTAProgram::TerminalImmediate > immediateValue(const MoveNode &node) const
SimpleResourceManager * rm_
virtual bool isIUBroker() const override
virtual bool isApplicable(const MoveNode &node, const TTAMachine::Bus *preassignedBus) const override
virtual void assign(int, MoveNode &, SchedulingResource &, int immWriteCycle, int immRegIndex) override
virtual int earliestCycle(int cycle, const MoveNode &node, const TTAMachine::Bus *bus, const TTAMachine::FunctionUnit *srcFU, const TTAMachine::FunctionUnit *dstFU, int immWriteCycle, const TTAMachine::ImmediateUnit *immu, int immRegIndex) const override
virtual int latestCycle(int cycle, const MoveNode &node, const TTAMachine::Bus *bus, const TTAMachine::FunctionUnit *srcFU, const TTAMachine::FunctionUnit *dstFU, int immWriteCycle, const TTAMachine::ImmediateUnit *immu, int immRegIndex) const override
virtual SchedulingResourceSet allAvailableResources(int, const MoveNode &, const TTAMachine::Bus *bus, const TTAMachine::FunctionUnit *srcFU, const TTAMachine::FunctionUnit *dstFU, int immWriteCycle, const TTAMachine::ImmediateUnit *immu, int immRegIndex) const override
virtual void setupResourceLinks(const ResourceMapper &mapper) override
const TTAMachine::Machine * target_
Target machine.
virtual SchedulingResource & availableResource(int cycle, const MoveNode &node, const TTAMachine::Bus *bus, const TTAMachine::FunctionUnit *srcFU, const TTAMachine::FunctionUnit *dstFU, int immWriteCycle, const TTAMachine::ImmediateUnit *immu, int immRegIndex) const override
bool isAnyResourceAvailable(int useCycle, const MoveNode &node, const TTAMachine::Bus *bus, const TTAMachine::FunctionUnit *srcFU, const TTAMachine::FunctionUnit *dstFU, int immWriteCycle, const TTAMachine::ImmediateUnit *immu, int immRegIndex) const override
virtual void buildResources(const TTAMachine::Machine &target) override
virtual int immediateWriteCycle(const MoveNode &node) const
virtual bool isAlreadyAssigned(int cycle, const MoveNode &node, const TTAMachine::Bus *preassignedBus) const override
Functor for sorting result of allAvailable by register width.
bool operator()(IUResource *x, IUResource *y)