Go to the documentation of this file.
325 return upperName ==
"ALDW" || upperName ==
"ALDHU" ||
326 upperName ==
"ALDH" || upperName ==
"ALDQU" ||
327 upperName ==
"ALDQ" || upperName ==
"ASTW" ||
328 upperName ==
"ASTH" || upperName ==
"ASTQ";
virtual int numberOfInputs() const
virtual Operand & operand(int id) const
bool writesMemory() const
virtual TCEString affects(unsigned int i) const
virtual int affectedByCount() const
bool hasSideEffects() const
void setBranch(bool setting)
virtual bool writesMemory() const
virtual void setReadsMemory(bool setting)
TCEString dagError(int index) const
int affectedByCount() const
virtual bool isPure() const
virtual void removeDag(int index)
virtual bool hasSideEffects() const
virtual TCEString description() const
void loadState(const ObjectState *state)
virtual Operand & output(int index) const
virtual OperationBehavior & behavior() const
void addInput(Operand *operand)
virtual void addOutput(Operand *operand)
virtual TCEString dagError(int index) const
static const char * OPRN_IN
Object state name for input operand.
bool isControlFlowOperation() const
Operation(const TCEString &name, OperationBehavior &behavior)
void setCall(bool setting)
static NullOperation instance_
Unique instance of NullOperation.
virtual bool dependsOn(const Operation &op) const
static const char * OPRN_NAME
Object state name for name.
NullOperation()
Some gcc versions warn about private constructors.
virtual bool areValid(const InputOperandVector &inputs, const OperationContext &context) const
virtual int numberOfInputs() const
virtual TCEString affectedBy(unsigned int i) const
static NullOperand & instance()
virtual bool isClocked() const
static const char * OPRN_AFFECTS
Object state name for affects.
virtual bool canBeSimulated() const
void addOutput(Operand *operand)
TCEString emulationFunctionName() const
virtual int affectsCount() const
virtual TCEString name() const
static const char * OPRN_AFFECTED_BY
Object state name for affected by.
virtual TCEString name() const
OperationPimpl * pimpl_
Private implementation in a separate source file.
virtual TCEString dagCode(int index) const
TCEString dagCode(int index) const
virtual bool canSwap(int id1, int id2) const
virtual bool canSwap(int id1, int id2) const
int numberOfOutputs() const
static const char * OPRN_CONTROL_FLOW
Object state name for control flow property.
void setControlFlowOperation(bool setting)
virtual void setCall(bool setting)
virtual void setBehavior(OperationBehavior &behavior)
static const char * OPRN_DESCRIPTION
Object state name for description.
ObjectState * saveState() const
#define abortWithError(message)
void setBehavior(OperationBehavior &behavior)
static const char * OPRN_TRAP
Object state name for trap.
static const char * OPRN_TRIGGER
Object state name for trigger semantics.
virtual bool areValid(const InputOperandVector &inputs, const OperationContext &context) const
virtual Operand & input(int id) const
virtual void setControlFlowOperation(bool setting)
Operand & output(int index) const
TCEString emulationFunctionName() const
virtual bool isControlFlowOperation() const
static const char * OPRN_OPERATION
Object state name for operation.
virtual void setBehavior(OperationBehavior &behavior)
static const char * OPRN_CLOCKED
Object state name for clockedness.
static const char * OPRN_ISCALL
Object state name for call property.
virtual void loadState(const ObjectState *state)
virtual void addDag(const TCEString &code)
bool simulateTrigger(SimValue **, OperationContext &context) const
TCEString affects(unsigned int i) const
void setReadsMemory(bool setting)
virtual void deleteState(OperationContext &context) const
static const char * OPRN_WRITES_MEMORY
Object state name for writes memory.
virtual bool readsMemory() const
virtual bool isBaseOffsetMemOperation() const
Operand & operand(int id) const
virtual bool canTrap() const
virtual ObjectState * saveState() const
static const char * OPRN_READS_MEMORY
Object state name for reads memory.
virtual Operand & output(int id) const
void createState(OperationContext &context) const
virtual bool isVectorOperation() const
virtual bool usesMemory() const
virtual void deleteState(OperationContext &context) const
OperationBehavior & behavior() const
static const char * OPRN_OUT
Object state name for output operand.
virtual int operandCount() const
static const char * OPRN_INPUTS
Object state name for inputs.
virtual TCEString description() const
virtual Operand & input(int index) const
static const char * OPRN_SIDE_EFFECTS
Object state name for side effects.
virtual void createState(OperationContext &context) const
virtual bool usesMemory() const
virtual Operand & operand(int id) const
virtual void createState(OperationContext &context) const
virtual int dagCount() const
static NullOperationBehavior & instance()
OperationBehavior::InputOperandVector InputOperandVector
virtual bool isClocked() const
virtual void addInput(Operand *operand)
virtual bool writesMemory() const
virtual void setDagCode(int index, const TCEString &code)
virtual bool canTrap() const
virtual bool hasSideEffects() const
virtual bool simulateTrigger(SimValue **, OperationContext &context) const
void removeDag(int index)
virtual OperationBehavior & behavior() const
virtual bool readsMemory() const
bool dependsOn(const Operation &op) const
virtual void setWritesMemory(bool setting)
OperationDAG & dag(int index) const
bool canSwap(int id1, int id2) const
TCEString affectedBy(unsigned int i) const
virtual bool isCall() const
virtual bool isCall() const
bool canBeSimulated() const
virtual int affectedByCount() const
virtual TCEString affectedBy(unsigned int i) const
virtual bool isBranch() const
void addDag(const TCEString &code)
virtual bool dependsOn(const Operation &op) const
Operand & input(int index) const
virtual int numberOfOutputs() const
static const char * OPRN_ISBRANCH
Object state name for branch property.
static const char * OPRN_OUTPUTS
Object state name for outputs.
virtual int affectsCount() const
virtual bool isBranch() const
virtual void setBranch(bool setting)
virtual OperationDAG & dag(int index) const
TCEString description() const
virtual int numberOfOutputs() const
virtual TCEString affects(unsigned int i) const
virtual bool simulateTrigger(SimValue **, OperationContext &context) const
void setWritesMemory(bool setting)
void deleteState(OperationContext &context) const
virtual bool isControlFlowOperation() const
void setDagCode(int index, const TCEString &code)
int numberOfInputs() const