76    parent_(NULL), src_(src), dst_(dst), bus_(&bus), guard_(guard) {
 
 
   90    parent_(NULL), src_(src), dst_(dst), bus_(&bus),
 
 
  120                                  "Move is not registered.");
 
 
  220    if (
isCall()) 
return true;
 
  221    if (!
isJump()) 
return false;
 
 
  350            __FILE__, __LINE__, 
"Move::guard()", 
"Move is not predicated.");
 
 
  396            __FILE__, __LINE__, 
"Move::sourceSocket()",
 
  397            "Move source is an immediate.");
 
 
  415    std::shared_ptr<Move> newMove = NULL;
 
  419        newMove = std::make_shared<Move>(
 
 
  464        lineNumber = INT_MAX;
 
  466            lineNumber = std::min(lineNumber, 
annotation(i, 
id).intValue());
 
 
  489    std::string fileName = 
"";
 
 
static NullOperation & instance()
virtual bool isCall() const
virtual bool isControlFlowOperation() const
virtual bool isBranch() const
static std::string disassemble(const TTAProgram::Move &move)
virtual Machine * machine() const
int globalGuardLatency() const
virtual Bus * parentBus() const
virtual ControlUnit * controlUnit() const
virtual Socket * outputSocket() const
virtual Socket * inputSocket() const
virtual int guardLatency() const
const RegisterFile * registerFile() const
int annotationCount(ProgramAnnotation::Id id=ProgramAnnotation::ANN_UNDEF_ID) const
ProgramAnnotation annotation(int index, ProgramAnnotation::Id id=ProgramAnnotation::ANN_UNDEF_ID) const
bool hasAnnotations(ProgramAnnotation::Id id=ProgramAnnotation::ANN_UNDEF_ID) const
const TTAMachine::Guard & guard() const
void setSource(Terminal *src)
bool isFunctionCall() const
MoveGuard * guard_
The boolean expression that predicates the move.
TTAMachine::Socket & destinationSocket() const
MoveGuard & guard() const
TTAMachine::Socket & sourceSocket() const
bool isControlFlowMove() const
bool hasSourceLineNumber() const
bool isUnconditional() const
const TTAMachine::Bus * bus_
The bus where the transport is carried.
std::string toString() const
Instruction & parent() const
Terminal & source() const
std::shared_ptr< Move > copy() const
int sourceLineNumber() const
bool hasSourceFileName() const
Terminal * dst_
The destination of the move.
bool isInInstruction() const
void setGuard(MoveGuard *guard)
void setParent(Instruction &ins)
bool isTriggering() const
Terminal * src_
The source of the move.
void setBus(const TTAMachine::Bus &bus)
Instruction * parent_
Parent instruction of the move.
Terminal & destination() const
void setDestination(Terminal *dst)
std::string sourceFileName() const
const TTAMachine::Bus & bus() const
Move(Terminal *src, Terminal *dst, const TTAMachine::Bus &bus, MoveGuard *guard)
static NullInstruction & instance()
Id
the ID in TPEF is 24 bits, here enum
@ ANN_STACKFRAME_PROCEDURE_RETURN
precedure return jmp
@ ANN_JUMP_FUNCTION_CALL
The JUMP in the annotated move is a function call and should be treated as such in the data dependenc...
@ ANN_DEBUG_SOURCE_CODE_LINE
The line number in the source code file the annotated move originates from.
@ ANN_DEBUG_SOURCE_CODE_PATH
debugging info annotations
std::string stringValue() const
virtual bool isTriggering() const
virtual Operation & hintOperation() const
virtual Operation & operation() const
virtual bool isOpcodeSetting() const
virtual Terminal * copy() const =0
virtual const TTAMachine::Port & port() const
virtual bool isImmediate() const
virtual bool isFUPort() const