Go to the documentation of this file.
33 #ifndef TTA_INSTRUCTION_TEMPLATE_HH
34 #define TTA_INSTRUCTION_TEMPLATE_HH
57 const std::string& slotName,
int width,
ImmediateUnit& dstUnit);
59 virtual void removeSlot(
const std::string& slotName);
66 virtual bool usesSlot(
const std::string& slotName)
const;
68 const std::string& slotName,
const ImmediateUnit& dstUnit)
const;
virtual std::string slotOfDestination(const ImmediateUnit &dstUnit, int index) const
virtual TCEString name() const
virtual void loadState(const ObjectState *state)
TemplateSlot * templateSlot(const std::string &slotName) const
virtual void addSlot(const std::string &slotName, int width, ImmediateUnit &dstUnit)
virtual int numberOfDestinations() const
virtual void unsetMachine()
virtual int slotCount() const
std::vector< TemplateSlot * > SlotTable
Container for TemplateSlots.
InstructionTemplate(const std::string &name, Machine &owner)
virtual void setMachine(Machine &machine)
virtual ObjectState * saveState() const
virtual void setName(const std::string &name)
virtual int numberOfSlots(const ImmediateUnit &dstUnit) const
virtual ~InstructionTemplate()
virtual int supportedWidth() const
virtual void removeSlots(const ImmediateUnit &dstUnit)
virtual bool isOneOfDestinations(const ImmediateUnit &dstUnit) const
virtual Machine * machine() const
virtual bool isEmpty() const
virtual bool destinationUsesSlot(const std::string &slotName, const ImmediateUnit &dstUnit) const
virtual void removeSlot(const std::string &slotName)
virtual TemplateSlot * slot(int index) const
SlotTable slots_
Contains all the slots of the instruction template.
virtual bool usesSlot(const std::string &slotName) const
static const std::string OSNAME_INSTRUCTION_TEMPLATE
ObjectState name for instruction template.
virtual ImmediateUnit * destinationOfSlot(const std::string &slotName) const