34#ifndef TTA_IURESOURCE_HH
35#define TTA_IURESOURCE_HH
44 class TerminalImmediate;
61 const std::string&
name,
65 const bool signExtension,
68 virtual bool isInUse(
const int cycle)
const override;
69 virtual bool isAvailable(
const int cycle,
int immRegIndex)
const;
70 virtual bool isAvailable(
const int cycle)
const override;
76 int immRegIndex)
const;
89 std::shared_ptr<TTAProgram::TerminalImmediate>
95 void clear()
override;
121 const int defCycle,
const int useCycle,
int immRegIndex)
const;
virtual bool canAssign(const int, const MoveNode &) const override
virtual void unassign(const int cycle, MoveNode &node) override
virtual bool validateDependentGroups() override
IUResource & operator=(const IUResource &)
virtual void assign(const int cycle, MoveNode &node) override
void setRegisterCount(const int registers)
virtual bool validateRelatedGroups() override
std::vector< ResourceRecordType * > ResourceRecordVectorType
virtual bool isIUResource() const override
std::shared_ptr< TTAProgram::TerminalImmediate > immediateValue(const MoveNode &node) const
const TTAMachine::Machine & machine_
virtual bool isAvailable(const int cycle, int immRegIndex) const
virtual bool isInUse(const int cycle) const override
int findAvailable(const int defCycle, const int useCycle, int immRegIndex) const
int immediateWriteCycle(const MoveNode &node) const
bool canAssignUse(int useCycle) const
IUResource(const IUResource &)
std::vector< ResourceRecordVectorType > resourceRecord_
int registerCount() const
virtual const std::string & name() const
int initiationInterval() const
std::shared_ptr< TTAProgram::TerminalImmediate > immediateValue_