Otawa  0.10
otawa::hard::Dispatch Class Reference

A dispatch object allows to map some kinds of instructions to a functional unit. More...

#include <otawa/hard/Processor.h>

Public Member Functions

 STRONG_TYPE (type_t, Inst::kind_t)
 
 Dispatch (void)
 
virtual ~Dispatch (void)
 
type_t getType (void) const
 
FunctionalUnitgetFU (void) const
 

Private Member Functions

 SERIALIZABLE (otawa::hard::Dispatch, FIELD(type)&FIELD(fu))
 

Private Attributes

type_t type
 
FunctionalUnitfu
 

Friends

class StageBuilder
 

Detailed Description

A dispatch object allows to map some kinds of instructions to a functional unit.

To find if the dispatch match an instruction, an AND is performed between the instruction kind and the dispatch type and if the result is equal to the dispatch type, this dispatch functional unit is selected. This means that the dispatched functional unit only process instructions that meets the all properties found in the dispatch kind.

Constructor & Destructor Documentation

otawa::hard::Dispatch::Dispatch ( void  )
inline
virtual otawa::hard::Dispatch::~Dispatch ( void  )
inlinevirtual

Member Function Documentation

FunctionalUnit* otawa::hard::Dispatch::getFU ( void  ) const
inline
type_t otawa::hard::Dispatch::getType ( void  ) const
inline

References otawa::type().

otawa::hard::Dispatch::SERIALIZABLE ( otawa::hard::Dispatch  ,
FIELD(type)&FIELD(fu  
)
private
otawa::hard::Dispatch::STRONG_TYPE ( type_t  ,
Inst::kind_t   
)

Friends And Related Function Documentation

friend class StageBuilder
friend

Member Data Documentation

FunctionalUnit* otawa::hard::Dispatch::fu
private
type_t otawa::hard::Dispatch::type
private

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