OpenASIP
2.0
|
#include <MoveNodeGroupBuilder.hh>
Public Types | |
typedef std::list< MoveNodeGroup * > | MoveNodeGroupList |
Public Member Functions | |
MoveNodeGroupBuilder () | |
virtual | ~MoveNodeGroupBuilder () |
MoveNodeGroupList * | build (TTAProgram::BasicBlock &bb) |
Private Types | |
typedef std::list< ProgramOperation * > | ProgramOperationList |
Private Attributes | |
ProgramOperationList | programOperations_ |
Builds a list of MoveNodeGroups (MNG) from the input basic block.
Also builds MoveNodes and ProgramOperations and ensures the produced MNG list is in the input sequential order and that each MNG contains either one MoveNode or a set of MoveNodes consisting a ProgramOperation.
Definition at line 52 of file MoveNodeGroupBuilder.hh.
typedef std::list<MoveNodeGroup*> MoveNodeGroupBuilder::MoveNodeGroupList |
Definition at line 54 of file MoveNodeGroupBuilder.hh.
|
private |
Definition at line 63 of file MoveNodeGroupBuilder.hh.
|
inline |
Definition at line 56 of file MoveNodeGroupBuilder.hh.
|
inlinevirtual |
Definition at line 57 of file MoveNodeGroupBuilder.hh.
MoveNodeGroupBuilder::MoveNodeGroupList * MoveNodeGroupBuilder::build | ( | TTAProgram::BasicBlock & | bb | ) |
Creates movenodes and programoperations from the given BB.
Also builds MoveNodes and ProgramOperations and ensures the produced MNG list is in the input sequential order and that each MNG contains either one MoveNode or a set of MoveNodes consisting a ProgramOperation. The returned objects become owned by the caller. This supports also input that is already bypassed.
Definition at line 57 of file MoveNodeGroupBuilder.cc.
References abortWithError, MoveNode::addDestinationOperationPtr(), MoveNodeGroup::addNode(), assert, TTAProgram::Move::destination(), TTAProgram::Terminal::functionUnit(), TTAProgram::Terminal::hintOperation(), TTAProgram::CodeSnippet::instructionAtIndex(), TTAProgram::CodeSnippet::instructionCount(), TTAProgram::Terminal::isFUPort(), TTAProgram::Terminal::isOpcodeSetting(), TTAProgram::Terminal::isTriggering(), Application::logStream(), TTAProgram::Instruction::moveCount(), TTAProgram::Instruction::movePtr(), TTAMachine::Component::name(), MoveNodeGroup::nodeCount(), TTAProgram::Terminal::operation(), TTAProgram::Terminal::port(), programOperations_, MoveNodeGroup::setProgramOperationPtr(), MoveNode::setSourceOperationPtr(), TTAProgram::Move::source(), MoveNodeGroup::toString(), TTAProgram::Move::toString(), MoveNode::toString(), and ProgramOperation::toString().
Referenced by LLVMTCEDataDependenceGraphBuilder::buildLocalDDG(), and SequentialMoveNodeSelector::SequentialMoveNodeSelector().
|
private |
Definition at line 64 of file MoveNodeGroupBuilder.hh.
Referenced by build().