Otawa  0.10
otawa::cache Namespace Reference

Classes

class  CategoryStats
 This class is used to store statistics about the categories about cache accesses. More...
 

Typedefs

typedef enum
otawa::cache::category_t 
category_t
 

Enumerations

enum  category_t {
  INVALID_CATEGORY = 0, ALWAYS_HIT = 1, FIRST_HIT = 2, FIRST_MISS = 3,
  ALWAYS_MISS = 4, NOT_CLASSIFIED = 5
}
 

Functions

io::Outputoperator<< (io::Output &out, category_t cat)
 
io::Outputoperator<< (io::Output &out, const CategoryStats &stats)
 
Identifier< CategoryStats * > CATEGORY_STATS ("otawa::CATEGORY_STATS", 0)
 Put in the statistics to get statistics about cache categories. More...
 
p::feature ICACHE_CATEGORY_FEATURE ("otawa::ICACHE_CATEGORY_FEATURE", new Maker< NoProcessor >())
 This feature asserts that a category is assigned at each l-block involved in the current task. More...
 
Identifier< category_tCATEGORY ("otawa::category", INVALID_CATEGORY)
 This property stores the instruction cache access category of L-Blocks. More...
 
Identifier< BasicBlock * > CATEGORY_HEADER ("otawa::CATEGORY_HEADER", 0)
 In the case of a FIRST_HIT (or FIRST_MISS) property, contains the header of the loop causing the HIT (or MISS) at the first iteration. More...
 

Variables

Identifier< category_tCATEGORY
 This property stores the instruction cache access category of L-Blocks. More...
 
Identifier< BasicBlock * > CATEGORY_HEADER
 In the case of a FIRST_HIT (or FIRST_MISS) property, contains the header of the loop causing the HIT (or MISS) at the first iteration. More...
 
Identifier< CategoryStats * > CATEGORY_STATS
 Put in the statistics to get statistics about cache categories. More...
 
p::feature ICACHE_CATEGORY_FEATURE
 This feature asserts that a category is assigned at each l-block involved in the current task. More...
 

Typedef Documentation

Enumeration Type Documentation

Enumerator
INVALID_CATEGORY 
ALWAYS_HIT 
FIRST_HIT 
FIRST_MISS 
ALWAYS_MISS 
NOT_CLASSIFIED 

Function Documentation

Identifier<category_t> otawa::cache::CATEGORY ( "otawa::category"  ,
INVALID_CATEGORY   
)

This property stores the instruction cache access category of L-Blocks.

This value may be :

  • ALWAYS_HIT : accesses to this l-block produces always a cache hit,
  • ALWAYS_MISS : accesses to this l-block produces always a cache miss,
  • FIRST_HIT : accesses to this l-block produces an cache hit at the first iteration of the containing loop and cache misses in the next iterations,
  • FIRST_MISS : accesses to this l-block produces a cache miss at the first iteration of the containing loop and cache hits in the next iterations,
Hooks
Identifier<BasicBlock*> otawa::cache::CATEGORY_HEADER ( "otawa::CATEGORY_HEADER"  ,
 
)

In the case of a FIRST_HIT (or FIRST_MISS) property, contains the header of the loop causing the HIT (or MISS) at the first iteration.

Hooks
  • LBlocks
Identifier<CategoryStats *> otawa::cache::CATEGORY_STATS ( "otawa::CATEGORY_STATS"  ,
 
)

Put in the statistics to get statistics about cache categories.

Hooks
  • processor configuration property list
p::feature otawa::cache::ICACHE_CATEGORY_FEATURE ( "otawa::ICACHE_CATEGORY_FEATURE"  ,
new Maker< NoProcessor >  () 
)

This feature asserts that a category is assigned at each l-block involved in the current task.

Properties
io::Output & otawa::cache::operator<< ( io::Output &  out,
category_t  stats 
)
io::Output & otawa::cache::operator<< ( io::Output &  out,
const CategoryStats &  stats 
)

Variable Documentation

Identifier<category_t> otawa::cache::CATEGORY("otawa::category", INVALID_CATEGORY)

This property stores the instruction cache access category of L-Blocks.

This value may be :

  • ALWAYS_HIT : accesses to this l-block produces always a cache hit,
  • ALWAYS_MISS : accesses to this l-block produces always a cache miss,
  • FIRST_HIT : accesses to this l-block produces an cache hit at the first iteration of the containing loop and cache misses in the next iterations,
  • FIRST_MISS : accesses to this l-block produces a cache miss at the first iteration of the containing loop and cache hits in the next iterations,
Hooks

Referenced by otawa::cat::CATBuilder::buildLBLOCKSET(), otawa::CAT2Builder::processLBlockSet(), otawa::cat::CATConstraintBuilder::processLBlockSet(), otawa::CAT2OnlyConstraintBuilder::processWorkSpace(), otawa::LinkedBlocksDetector::processWorkSpace(), otawa::LinkedBlocksDetector::recordBlocks(), and otawa::cat::CATBuilder::worst().

Identifier<BasicBlock*> otawa::cache::CATEGORY_HEADER("otawa::CATEGORY_HEADER", 0)

In the case of a FIRST_HIT (or FIRST_MISS) property, contains the header of the loop causing the HIT (or MISS) at the first iteration.

Hooks
  • LBlocks

Referenced by otawa::LBlockManager::next(), otawa::CAT2Builder::processLBlockSet(), otawa::CAT2OnlyConstraintBuilder::processWorkSpace(), and otawa::LinkedBlocksDetector::processWorkSpace().

Identifier<CategoryStats *> otawa::cache::CATEGORY_STATS("otawa::CATEGORY_STATS", 0)

Put in the statistics to get statistics about cache categories.

Hooks
  • processor configuration property list

Referenced by otawa::LinkedBlocksDetector::configure(), and otawa::CAT2Builder::configure().

p::feature otawa::cache::ICACHE_CATEGORY_FEATURE("otawa::ICACHE_CATEGORY_FEATURE", new Maker< NoProcessor >())

This feature asserts that a category is assigned at each l-block involved in the current task.

Properties