Otawa  0.10
otawa::ccg::LBlockSet Class Reference

This class represents the list of l-blocks of a task for a chosen cache row. More...

#include <otawa/ccg/features.h>

Classes

class  Iterator
 

Public Member Functions

 LBlockSet (int row, const hard::Cache *cache)
 Build a l-block set. More...
 
int add (LBlock *node)
 Add a new l-block. More...
 
int count (void)
 Get a number for a new l-block in the set. More...
 
int cacheBlockCount (void)
 Get the internal counter of l-block number (only used internally). More...
 
LBlocklblock (int i)
 Get the l-block with the given index. More...
 
int set (void)
 Get the set number of the l-blocks in the cache. More...
 
const hard::Cachecache (void) const
 
int line (void)
 

Private Attributes

int linenumber
 
elm::genstruct::Vector< LBlock * > listelbc
 
int cblock_count
 
const hard::Cache_cache
 

Friends

class CCGDFA
 

Detailed Description

This class represents the list of l-blocks of a task for a chosen cache row.

It is useful to perform analysis on l-blocks. It is accessible through the property otawa::LBLOCKS.

Constructor & Destructor Documentation

otawa::ccg::LBlockSet::LBlockSet ( int  line,
const hard::Cache cache 
)

Build a l-block set.

Parameters
lineCache row of the l-block set.

Member Function Documentation

int otawa::ccg::LBlockSet::add ( LBlock lblock)

Add a new l-block.

Parameters
lblockl-block to add.

References otawa::ccg::LBlock::cacheBlock(), cblock_count, and listelbc.

const hard::Cache* otawa::ccg::LBlockSet::cache ( void  ) const
inline

References _cache.

int otawa::ccg::LBlockSet::cacheBlockCount ( void  )
inline

Get the internal counter of l-block number (only used internally).

References listelbc.

Referenced by otawa::ccg::LBlockBuilder::addLBlock().

int otawa::ccg::LBlockSet::count ( void  )
inline

Get a number for a new l-block in the set.

Used internally to build l-blocks.

Returns
New l-block number.

Get the count of l-blocks in the set.

Returns
Count of l-blocks.

References listelbc.

Referenced by otawa::ccg::ConstraintBuilder::addConstraintHeader(), otawa::ccg::ConstraintBuilder::processLBlockSet(), and otawa::ccg::Builder::processLBlockSet().

LBlock * otawa::ccg::LBlockSet::lblock ( int  i)
inline

Get the l-block with the given index.

Parameters
iIndex of the looked block.
Returns
L-block matching the index.

References listelbc.

Referenced by otawa::ccg::Builder::processLBlockSet().

int otawa::ccg::LBlockSet::line ( void  )
inline
int otawa::ccg::LBlockSet::set ( void  )
inline

Get the set number of the l-blocks in the cache.

Returns
Cache set number.

References linenumber.

Friends And Related Function Documentation

friend class CCGDFA
friend

Member Data Documentation

const hard::Cache* otawa::ccg::LBlockSet::_cache
private

Referenced by cache().

int otawa::ccg::LBlockSet::cblock_count
private

Referenced by add().

int otawa::ccg::LBlockSet::linenumber
private

Referenced by line(), and set().

elm::genstruct::Vector<LBlock *> otawa::ccg::LBlockSet::listelbc
private

Referenced by add(), cacheBlockCount(), count(), and lblock().


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