Go to the documentation of this file.
33 #ifndef TTA_RESOURCE_MANAGER_HH
34 #define TTA_RESOURCE_MANAGER_HH
63 int immWriteCycle = -1,
65 int immRegIndex = -1)
const = 0;
71 int immWriteCycle = -1,
73 int immRegIndex = -1) = 0;
80 int immWriteCycle = -1,
82 int immRegIndex = -1)
const = 0;
88 int immWriteCycle = -1,
90 int immRegIndex = -1)
const = 0;
96 int immWriteCycle = -1,
98 int immRegIndex = -1)
const = 0;
104 int immWriteCycle = -1,
106 int immRegIndex = -1)
const = 0;
121 #define debugLogRM(__X) debugLog(__X)
123 #define debugLogRM(__X)
ResourceManager(const TTAMachine::Machine &machine)
virtual int latestCycle(MoveNode &node, const TTAMachine::Bus *bus=nullptr, const TTAMachine::FunctionUnit *srcFU=nullptr, const TTAMachine::FunctionUnit *dstFU=nullptr, int immWriteCycle=-1, const TTAMachine::ImmediateUnit *immu=nullptr, int immRegIndex=-1) const =0
virtual void unassign(MoveNode &node)=0
virtual bool supportsExternalAssignments() const =0
virtual TTAProgram::Instruction * instruction(int cycle) const =0
virtual ~ResourceManager()
virtual int largestCycle() const =0
virtual bool canAssign(int cycle, MoveNode &node, const TTAMachine::Bus *bus=nullptr, const TTAMachine::FunctionUnit *srcFU=nullptr, const TTAMachine::FunctionUnit *dstFU=nullptr, int immWriteCycle=-1, const TTAMachine::ImmediateUnit *immu=nullptr, int immRegIndex=-1) const =0
const TTAMachine::Machine & machine() const
virtual void assign(int cycle, MoveNode &node, const TTAMachine::Bus *bus=nullptr, const TTAMachine::FunctionUnit *srcFU=nullptr, const TTAMachine::FunctionUnit *dstFU=nullptr, int immWriteCycle=-1, const TTAMachine::ImmediateUnit *immu=nullptr, int immRegIndex=-1)=0
const TTAMachine::Machine * machine_
Target machine.
virtual int smallestCycle() const =0
virtual int earliestCycle(MoveNode &node, const TTAMachine::Bus *bus=nullptr, const TTAMachine::FunctionUnit *srcFU=nullptr, const TTAMachine::FunctionUnit *dstFU=nullptr, int immWriteCycle=-1, const TTAMachine::ImmediateUnit *immu=nullptr, int immRegIndex=-1) const =0