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 Machine * machine() const
virtual TCEString name() const
virtual bool usesSlot(const std::string &slotName) const
virtual ImmediateUnit * destinationOfSlot(const std::string &slotName) const
SlotTable slots_
Contains all the slots of the instruction template.
virtual int slotCount() const
virtual void addSlot(const std::string &slotName, int width, ImmediateUnit &dstUnit)
virtual bool isOneOfDestinations(const ImmediateUnit &dstUnit) const
virtual void removeSlot(const std::string &slotName)
virtual void setName(const std::string &name)
virtual void loadState(const ObjectState *state)
virtual bool destinationUsesSlot(const std::string &slotName, const ImmediateUnit &dstUnit) const
virtual TemplateSlot * slot(int index) const
virtual int numberOfSlots(const ImmediateUnit &dstUnit) const
virtual std::string slotOfDestination(const ImmediateUnit &dstUnit, int index) const
TemplateSlot * templateSlot(const std::string &slotName) const
virtual void removeSlots(const ImmediateUnit &dstUnit)
virtual bool isEmpty() const
static const std::string OSNAME_INSTRUCTION_TEMPLATE
ObjectState name for instruction template.
virtual int supportedWidth() const
virtual void unsetMachine()
std::vector< TemplateSlot * > SlotTable
Container for TemplateSlots.
virtual ~InstructionTemplate()
virtual int numberOfDestinations() const
virtual ObjectState * saveState() const
virtual void setMachine(Machine &machine)