OpenASIP
2.0
|
#include <Operation.hh>
Public Member Functions | |
virtual | ~NullOperation () |
virtual TCEString | name () const |
virtual TCEString | description () const |
virtual int | numberOfInputs () const |
virtual int | numberOfOutputs () const |
virtual bool | usesMemory () const |
virtual bool | readsMemory () const |
virtual bool | writesMemory () const |
virtual bool | canTrap () const |
virtual bool | hasSideEffects () const |
virtual bool | isClocked () const |
virtual bool | isControlFlowOperation () const |
virtual bool | isCall () const |
virtual bool | isBranch () const |
virtual bool | dependsOn (const Operation &op) const |
virtual int | affectsCount () const |
virtual int | affectedByCount () const |
virtual TCEString | affects (unsigned int i) const |
virtual TCEString | affectedBy (unsigned int i) const |
virtual bool | canSwap (int id1, int id2) const |
virtual Operand & | input (int id) const |
virtual Operand & | output (int id) const |
virtual Operand & | operand (int id) const |
virtual void | setBehavior (OperationBehavior &behavior) |
virtual OperationBehavior & | behavior () const |
virtual bool | simulateTrigger (SimValue **, OperationContext &context) const |
virtual void | createState (OperationContext &context) const |
virtual void | deleteState (OperationContext &context) const |
Public Member Functions inherited from Operation | |
Operation (const TCEString &name, OperationBehavior &behavior) | |
virtual | ~Operation () |
virtual void | addDag (const TCEString &code) |
virtual void | removeDag (int index) |
virtual int | dagCount () const |
virtual OperationDAG & | dag (int index) const |
virtual TCEString | dagCode (int index) const |
virtual void | setDagCode (int index, const TCEString &code) |
virtual TCEString | dagError (int index) const |
virtual int | operandCount () const |
virtual bool | isVectorOperation () const |
virtual void | setReadsMemory (bool setting) |
virtual void | setWritesMemory (bool setting) |
virtual bool | isBaseOffsetMemOperation () const |
virtual void | setCall (bool setting) |
virtual void | setBranch (bool setting) |
virtual void | setControlFlowOperation (bool setting) |
virtual bool | isPure () const |
virtual void | addInput (Operand *operand) |
virtual void | addOutput (Operand *operand) |
virtual void | loadState (const ObjectState *state) |
virtual ObjectState * | saveState () const |
virtual bool | areValid (const InputOperandVector &inputs, const OperationContext &context) const |
virtual bool | canBeSimulated () const |
bool | isNull () const |
TCEString | emulationFunctionName () const |
OperationPimpl & | impl () |
Public Member Functions inherited from Serializable | |
virtual | ~Serializable () |
Static Public Member Functions | |
static NullOperation & | instance () |
Protected Member Functions | |
NullOperation () | |
Some gcc versions warn about private constructors. More... | |
Private Member Functions | |
NullOperation (const NullOperation &) | |
Copying not allowed. More... | |
NullOperation & | operator= (const NullOperation &) |
Assignment not allowed. More... | |
Static Private Attributes | |
static NullOperation | instance_ |
Unique instance of NullOperation. More... | |
Additional Inherited Members | |
Public Types inherited from Operation | |
typedef OperationBehavior::InputOperandVector | InputOperandVector |
Static Public Attributes inherited from Operation | |
static const char * | OPRN_OPERATION = "operation" |
Object state name for operation. More... | |
static const char * | OPRN_NAME = "name" |
Object state name for name. More... | |
static const char * | OPRN_DESCRIPTION = "description" |
Object state name for description. More... | |
static const char * | OPRN_INPUTS = "inputs" |
Object state name for inputs. More... | |
static const char * | OPRN_OUTPUTS = "outputs" |
Object state name for outputs. More... | |
static const char * | OPRN_TRAP = "trap" |
Object state name for trap. More... | |
static const char * | OPRN_SIDE_EFFECTS = "side-effects" |
Object state name for side effects. More... | |
static const char * | OPRN_CLOCKED = "clocked" |
Object state name for clockedness. More... | |
static const char * | OPRN_CONTROL_FLOW = "control-flow" |
Object state name for control flow property. More... | |
static const char * | OPRN_READS_MEMORY = "reads-memory" |
Object state name for reads memory. More... | |
static const char * | OPRN_WRITES_MEMORY = "writes-memory" |
Object state name for writes memory. More... | |
static const char * | OPRN_AFFECTS = "affects" |
Object state name for affects. More... | |
static const char * | OPRN_AFFECTED_BY = "affected-by" |
Object state name for affected by. More... | |
static const char * | OPRN_IN = "in" |
Object state name for input operand. More... | |
static const char * | OPRN_OUT = "out" |
Object state name for output operand. More... | |
static const char * | OPRN_TRIGGER = "trigger-semantics" |
Object state name for trigger semantics. More... | |
static const char * | OPRN_ISCALL = "is-call" |
Object state name for call property. More... | |
static const char * | OPRN_ISBRANCH = "is-branch" |
Object state name for branch property. More... | |
Singleton class that is used to represent a null operation behavior.
All methods cause program abort with an error log message.
Definition at line 186 of file Operation.hh.
|
virtual |
|
protected |
Some gcc versions warn about private constructors.
Constructor.
Definition at line 652 of file Operation.cc.
|
private |
Copying not allowed.
|
virtual |
Aborts program with error log message.
Nothing. |
Reimplemented from Operation.
Definition at line 715 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 690 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Nothing. |
Reimplemented from Operation.
Definition at line 702 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 679 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 771 of file Operation.cc.
References abortWithError, and NullOperationBehavior::instance().
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 727 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 867 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 944 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 952 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 668 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 801 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 878 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 738 of file Operation.cc.
References abortWithError, and NullOperand::instance().
|
static |
Referenced by TDGen::analyzeMachineVectorRegisterClasses(), MachineStateBuilder::bindPortsToOperands(), AddressSpaceCheck::check(), POMDisassembler::createFUPort(), OperationDAGBuilder::createOperationNode(), ControlFlowEdge::edgePredicateFromMove(), CodeCompressorPlugin::encodeFUTerminal(), CmdTrigger::execute(), CmdReset::execute(), TDGen::gatherAllMachineOperations(), UniversalFunctionUnit::hasOperation(), TTAProgram::TerminalFUPort::hintOperation(), TTAProgram::Move::isCall(), TTAProgram::Move::isControlFlowMove(), TTAProgram::Move::isJump(), operandBindingsString(), MachineInfo::operandFromPort(), MachineConnectivityCheck::operandWidth(), UniversalFunctionUnit::operation(), OperationPoolPimpl::operation(), OsalInterpreter::operation(), OsalInterpreter::OsalInterpreter(), printLatexFunctionUnitDescription(), TTAProgram::TerminalFUPort::setHintOperation(), TTAProgram::ProgramWriter::terminalResource(), TDGen::writeInstrInfo(), TDGen::writeIntegerImmediateDefs(), and TDGen::writeScalarOperationExploitations().
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 920 of file Operation.cc.
References __func__, and abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 910 of file Operation.cc.
References __func__, and abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 889 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 900 of file Operation.cc.
References __func__, and abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 790 of file Operation.cc.
References abortWithError.
Referenced by ProgramOperation::addNode(), and ProgramOperation::hwopFromOutMove().
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 812 of file Operation.cc.
References abortWithError.
Referenced by ProgramOperation::outputNode().
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 823 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 760 of file Operation.cc.
References abortWithError, and NullOperand::instance().
|
private |
Assignment not allowed.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 749 of file Operation.cc.
References abortWithError, and NullOperand::instance().
Referenced by ProgramOperation::toString().
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 845 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 780 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Exception | never. |
Reimplemented from Operation.
Definition at line 932 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 834 of file Operation.cc.
References abortWithError.
|
virtual |
Aborts program with error log message.
Reimplemented from Operation.
Definition at line 856 of file Operation.cc.
References abortWithError.
|
staticprivate |
Unique instance of NullOperation.
Definition at line 237 of file Operation.hh.