Otawa  0.10
otawa::PCGBlock Class Reference

#include <otawa/pcg/PCGBlock.h>

Inheritance diagram for otawa::PCGBlock:
otawa::PropList

Classes

class  PCGBlockInIterator
 
class  PCGBlockOutIterator
 

Public Member Functions

 PCGBlock (BasicBlock *bb, CFG *cfg)
 
virtual ~PCGBlock (void)
 
void addInLink (PCGBlock *pcgb)
 
void addOutLink (PCGBlock *pcgb)
 
BasicBlockgetBB (void)
 
address_t getAddress ()
 
String getName ()
 
elm::genstruct::Vector
< PCGBlock * > & 
getFathers ()
 
elm::genstruct::Vector
< PCGBlock * > & 
getSons ()
 
CFGgetCFG (void) const
 
PropertygetProp (const AbstractIdentifier *id) const
 Find a property by its identifier. More...
 
void setProp (Property *prop)
 Set the property in the property list removing any double. More...
 
void setProp (const AbstractIdentifier *id)
 
void removeProp (const AbstractIdentifier *id)
 Remove a property matching the given identifier. More...
 
void removeProp (const AbstractIdentifier &id)
 
PropertyextractProp (const AbstractIdentifier *id)
 Remove a property matching the given identifier and return it. More...
 
PropertyextractProp (const AbstractIdentifier &id)
 Remove a property matching the given identifier and return it. More...
 
void addProp (Property *prop)
 Add property to the list without checking of duplication. More...
 
void removeAllProp (const AbstractIdentifier *id)
 Remove all the properties matching the given identifier. More...
 
bool hasProp (const AbstractIdentifier &id) const
 Test if the property list contains a property matching the given identifier. More...
 
void clearProps (void)
 Remove all properties from the list. More...
 
void addProps (const PropList &props)
 Add all properties from the given property list, in a reverse order. More...
 
void print (elm::io::Output &out) const
 Display the current property list. More...
 

Static Public Attributes

static const PropList EMPTY
 This is an empty proplist for convenience. More...
 

Private Attributes

BasicBlockbb
 
elm::genstruct::Vector
< PCGBlock * > 
ins
 
elm::genstruct::Vector
< PCGBlock * > 
outs
 
CFGcfg
 

Constructor & Destructor Documentation

otawa::PCGBlock::PCGBlock ( BasicBlock bb,
CFG cfg 
)
inline
virtual otawa::PCGBlock::~PCGBlock ( void  )
inlinevirtual

Member Function Documentation

void otawa::PCGBlock::addInLink ( PCGBlock pcgb)
inline

References ins.

Referenced by otawa::PCGBuilder::addPCGBlock().

void otawa::PCGBlock::addOutLink ( PCGBlock pcgb)
inline

References outs.

void otawa::PropList::clearProps ( void  )
inherited
Property * otawa::PropList::extractProp ( const AbstractIdentifier id)
inherited

Remove a property matching the given identifier and return it.

Caller is responsible of the management of the obtained property.

Parameters
idIdentifier of the property to extract.

References otawa::Property::_next, and otawa::Property::next().

Referenced by otawa::script::Script::makeConfig().

Property * otawa::PropList::extractProp ( const AbstractIdentifier id)
inlineinherited

Remove a property matching the given identifier and return it.

Caller is responsible of the management of the obtained property.

Parameters
idIdentifier of the property to extract.

References otawa::PropList::extractProp().

Referenced by otawa::PropList::extractProp().

address_t otawa::PCGBlock::getAddress ( )
inline

References otawa::CFG::address(), and cfg.

BasicBlock* otawa::PCGBlock::getBB ( void  )
inline

References bb.

CFG* otawa::PCGBlock::getCFG ( void  ) const
inline

References cfg.

elm::genstruct::Vector<PCGBlock*>& otawa::PCGBlock::getFathers ( )
inline

References ins.

Referenced by otawa::PCGBuilder::addPCGBlock().

String otawa::PCGBlock::getName ( void  )
inline

References cfg, and otawa::CFG::label().

elm::genstruct::Vector<PCGBlock*>& otawa::PCGBlock::getSons ( )
inline

References outs.

bool otawa::PropList::hasProp ( const AbstractIdentifier id) const
inlineinherited

Test if the property list contains a property matching the given identifier.

Parameters
idProperty identifier to look for.
Returns
True if the list contains the matching property, false else.

References otawa::PropList::getProp().

Referenced by otawa::ipet::BasicConstraintsBuilder::addEntryConstraint(), otawa::Monitor::configure(), otawa::ImmutableRef< T, I >::exists(), and otawa::Manager::setVerbosity().

void otawa::PropList::print ( elm::io::Output out) const
inherited

Display the current property list.

Parameters
outOutput to use.

Referenced by otawa::operator<<(), and otawa::ContextualProperty::print().

void otawa::PropList::removeAllProp ( const AbstractIdentifier id)
inherited

Remove all the properties matching the given identifier.

Parameters
idIdentifier of properties to remove.

References otawa::Property::_next, and otawa::Property::next().

Referenced by otawa::LoopUnroller::unroll().

void otawa::PropList::removeProp ( const AbstractIdentifier id)
inherited
void otawa::PropList::removeProp ( const AbstractIdentifier id)
inlineinherited
void otawa::PropList::setProp ( Property prop)
inherited

Set the property in the property list removing any double.

Parameters
propProperty to set.

References otawa::Property::_next, otawa::Property::id(), and otawa::Property::next().

void otawa::PropList::setProp ( const AbstractIdentifier id)
inlineinherited

Member Data Documentation

BasicBlock* otawa::PCGBlock::bb
private

Referenced by getBB().

CFG* otawa::PCGBlock::cfg
private

Referenced by getAddress(), getCFG(), and getName().

const PropList otawa::PropList::EMPTY
staticinherited

This is an empty proplist for convenience.

elm::genstruct::Vector<PCGBlock *> otawa::PCGBlock::ins
private

Referenced by addInLink(), and getFathers().

elm::genstruct::Vector<PCGBlock *> otawa::PCGBlock::outs
private

Referenced by addOutLink(), and getSons().


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