Go to the documentation of this file.
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 bool isAlreadyAssigned(int cycle, const MoveNode &node, const TTAMachine::Bus *preassignedBus) const override
const TTAMachine::Machine * target_
Target machine.
virtual bool isIUBroker() const override
virtual bool isApplicable(const MoveNode &node, const TTAMachine::Bus *preassignedBus) 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 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
bool operator()(IUResource *x, IUResource *y)
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
SimpleResourceManager * rm_
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 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
virtual void unassign(MoveNode &node) override
virtual std::shared_ptr< TTAProgram::TerminalImmediate > immediateValue(const MoveNode &node) const
virtual void setupResourceLinks(const ResourceMapper &mapper) override
virtual void buildResources(const TTAMachine::Machine &target) override
virtual int immediateWriteCycle(const MoveNode &node) const
Functor for sorting result of allAvailable by register width.