Otawa  0.10
otawa::SESERegion Class Reference

#include <otawa/cfg/PSTBuilder.h>

Inheritance diagram for otawa::SESERegion:
otawa::PropList

Classes

class  BBIterator
 

Public Member Functions

 SESERegion (CFG *_cfg, Edge *_entry, PSTree *_parent, bool _first, CEClass *_class)
 
 SESERegion (CFG *_cfg)
 
PSTreegetParent ()
 
int countBB ()
 
void addBB (BasicBlock *_bb)
 
void setExit (Edge *_exit)
 
void print ()
 
EdgegetEntry ()
 
EdgegetExit ()
 
void setLast ()
 
bool isFirst ()
 
CFGgetCFG ()
 
const Vector< BasicBlock * > & getBBs ()
 
bool isLast ()
 
bool isRoot ()
 
CEClassgetClass ()
 
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

Edgeentry
 
Edgeexit
 
CFGcfg
 
PSTreeparent
 
Vector< BasicBlock * > bbs
 
bool first
 
bool last
 
CEClassclasse
 

Constructor & Destructor Documentation

otawa::SESERegion::SESERegion ( CFG _cfg,
Edge _entry,
PSTree _parent,
bool  _first,
CEClass _class 
)
inline
otawa::SESERegion::SESERegion ( CFG _cfg)
inline

Member Function Documentation

void otawa::SESERegion::addBB ( BasicBlock _bb)
inline

References bbs.

void otawa::PropList::clearProps ( void  )
inherited
int otawa::SESERegion::countBB ( void  )
inline

References bbs.

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().

const Vector<BasicBlock*>& otawa::SESERegion::getBBs ( )
inline

References bbs.

Referenced by otawa::PSTBuilder::getVCFG().

CFG* otawa::SESERegion::getCFG ( )
inline

References cfg.

Referenced by otawa::PSTBuilder::getVCFG().

CEClass* otawa::SESERegion::getClass ( )
inline

References classe.

Edge* otawa::SESERegion::getEntry ( )
inline

References entry.

Referenced by otawa::PSTBuilder::getVCFG(), and print().

Edge* otawa::SESERegion::getExit ( )
inline

References exit.

Referenced by otawa::PSTBuilder::getVCFG(), and print().

PSTree* otawa::SESERegion::getParent ( )
inline

References parent.

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().

bool otawa::SESERegion::isFirst ( )
inline

References first.

bool otawa::SESERegion::isLast ( )
inline

References last.

bool otawa::SESERegion::isRoot ( )
inline

References parent.

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::SESERegion::print ( )
inline
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::SESERegion::setExit ( Edge _exit)
inline

References exit.

void otawa::SESERegion::setLast ( )
inline

References last.

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

Vector<BasicBlock*> otawa::SESERegion::bbs
private

Referenced by addBB(), countBB(), and getBBs().

CFG* otawa::SESERegion::cfg
private

Referenced by getCFG(), and SESERegion().

CEClass* otawa::SESERegion::classe
private

Referenced by getClass().

const PropList otawa::PropList::EMPTY
staticinherited

This is an empty proplist for convenience.

Edge* otawa::SESERegion::entry
private

Referenced by getEntry(), and SESERegion().

Edge* otawa::SESERegion::exit
private

Referenced by getExit(), SESERegion(), and setExit().

bool otawa::SESERegion::first
private

Referenced by isFirst().

bool otawa::SESERegion::last
private

Referenced by isLast(), and setLast().

PSTree* otawa::SESERegion::parent
private

Referenced by getParent(), and isRoot().


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