// Notify listeners of the "instruction dispatched" event,
// and move IR to the next stage.
notifyInstructionDispatched(IR, RegisterFiles);
- return std::move(moveToTheNextStage(IR));
+ return moveToTheNextStage(IR);
}
llvm::Error DispatchStage::cycleStart() {
llvm::Error DispatchStage::execute(InstRef &IR) {
assert(canDispatch(IR) && "Cannot dispatch another instruction!");
- return std::move(dispatch(IR));
+ return dispatch(IR);
}
#ifndef NDEBUG
if (IR.getInstruction()->isExecuted()) {
notifyInstructionExecuted(IR);
//FIXME: add a buffer of executed instructions.
- return std::move(moveToTheNextStage(IR));
+ return moveToTheNextStage(IR);
}
return ErrorSuccess();
}
/// successor stages.
llvm::Error moveToTheNextStage(InstRef &IR) {
assert(checkNextStage(IR) && "Next stage is not ready!");
- return std::move(NextInSequence->execute(IR));
+ return NextInSequence->execute(IR);
}
/// Add a listener to receive callbacks during the execution of this stage.