Otawa  0.10
otawa::ParExeInst Class Reference

Instruction as presented in the ParExeGraph. More...

#include <otawa/parexegraph/ParExeGraph.h>

Classes

class  NodeIterator
 
class  ProducingInstIterator
 

Public Member Functions

 ParExeInst (Inst *inst, BasicBlock *bb, code_part_t part, int index)
 
Instinst ()
 
code_part_t codePart ()
 
int index ()
 
void setIndex (int index)
 
ParExeNodefirstNode ()
 
ParExeNodenode (int index)
 
void setFetchNode (ParExeNode *node)
 
void setExecNode (ParExeNode *node)
 
void setFirstFUNode (ParExeNode *node)
 
void setLastFUNode (ParExeNode *node)
 
ParExeNodefetchNode ()
 
ParExeNodeexecNode ()
 
ParExeNodefirstFUNode ()
 
ParExeNodelastFUNode ()
 
void addProducingInst (ParExeInst *inst)
 
BasicBlockbasicBlock ()
 
void addNode (ParExeNode *node)
 Relates a node to an instruction in the sequence. More...
 
void removeNode (ParExeNode *node)
 
void deleteNodes ()
 

Private Attributes

Inst_inst
 
BasicBlock_bb
 
code_part_t _part
 
int _index
 
elm::genstruct::Vector
< ParExeNode * > 
_nodes
 
ParExeNode_fetch_node
 
ParExeNode_exec_node
 
ParExeNode_first_fu_node
 
ParExeNode_last_fu_node
 
elm::genstruct::Vector
< ParExeInst * > 
_producing_insts
 

Detailed Description

Instruction as presented in the ParExeGraph.

See also
Parametric Execution Graph

Constructor & Destructor Documentation

otawa::ParExeInst::ParExeInst ( Inst inst,
BasicBlock bb,
code_part_t  part,
int  index 
)
inline

Member Function Documentation

void otawa::ParExeInst::addNode ( ParExeNode node)

Relates a node to an instruction in the sequence.

References _exec_node, _fetch_node, _nodes, otawa::ParExeStage::category(), otawa::ParExeStage::FETCH, node(), and otawa::ParExeNode::stage().

void otawa::ParExeInst::addProducingInst ( ParExeInst inst)
inline

References _producing_insts.

BasicBlock* otawa::ParExeInst::basicBlock ( )
inline

References _bb.

code_part_t otawa::ParExeInst::codePart ( )
inline

References _part.

Referenced by otawa::ParExeNode::ParExeNode().

void otawa::ParExeInst::deleteNodes ( )
inline

References _nodes.

ParExeNode* otawa::ParExeInst::execNode ( )
inline

References _exec_node.

ParExeNode* otawa::ParExeInst::fetchNode ( )
inline
ParExeNode* otawa::ParExeInst::firstFUNode ( )
inline

References _first_fu_node.

ParExeNode* otawa::ParExeInst::firstNode ( void  )
inline

References _nodes.

int otawa::ParExeInst::index ( void  )
inline

References _index.

Referenced by node(), otawa::ParExeNode::ParExeNode(), and setIndex().

Inst* otawa::ParExeInst::inst ( void  )
inline
ParExeNode* otawa::ParExeInst::lastFUNode ( )
inline

References _last_fu_node.

ParExeNode* otawa::ParExeInst::node ( int  index)
inline
void otawa::ParExeInst::removeNode ( ParExeNode node)
inline

References _nodes.

void otawa::ParExeInst::setExecNode ( ParExeNode node)
inline

References _exec_node, and node().

void otawa::ParExeInst::setFetchNode ( ParExeNode node)
inline

References _fetch_node, and node().

void otawa::ParExeInst::setFirstFUNode ( ParExeNode node)
inline

References _first_fu_node, and node().

void otawa::ParExeInst::setIndex ( int  index)
inline

References _index, and index().

void otawa::ParExeInst::setLastFUNode ( ParExeNode node)
inline

References _last_fu_node, and node().

Member Data Documentation

BasicBlock* otawa::ParExeInst::_bb
private

Referenced by basicBlock().

ParExeNode* otawa::ParExeInst::_exec_node
private

Referenced by addNode(), execNode(), and setExecNode().

ParExeNode* otawa::ParExeInst::_fetch_node
private

Referenced by addNode(), fetchNode(), and setFetchNode().

ParExeNode* otawa::ParExeInst::_first_fu_node
private

Referenced by firstFUNode(), and setFirstFUNode().

int otawa::ParExeInst::_index
private

Referenced by index(), and setIndex().

Inst* otawa::ParExeInst::_inst
private

Referenced by inst().

ParExeNode* otawa::ParExeInst::_last_fu_node
private

Referenced by lastFUNode(), and setLastFUNode().

elm::genstruct::Vector<ParExeNode *> otawa::ParExeInst::_nodes
private
code_part_t otawa::ParExeInst::_part
private

Referenced by codePart().

elm::genstruct::Vector<ParExeInst *> otawa::ParExeInst::_producing_insts
private

Referenced by addProducingInst().


The documentation for this class was generated from the following files: