Otawa  0.10
bpred Plugin

This module implements a branch prediction analysis based on: More...

Classes

class  otawa::bpred::BPredProcessor
 This is a specialization of the CFGProcessor class dedicated to branch prediction. More...
 

Functions

Identifier< method_t > otawa::bpred::METHOD ("otawa::bpred::METHOD", NO_CONFLICT_2BITS_COUNTER)
 Configuration property to select the method used for branch prediction. More...
 
Identifier< int > otawa::bpred::BHT_SIZE ("otawa::bpred::BHT_SIZE", 4)
 Configuration property to select the BHT's size to use with the bimodal metho. More...
 
Identifier< int > otawa::bpred::HISTORY_SIZE ("otawa::bpred::HISTORY_SIZE", 4)
 Configuration property to select the history size to use for Global2b and Global1b methods. More...
 
Identifier< bool > otawa::bpred::DUMP_BCG ("otawa::bpred::DUMP_BCG", false)
 Configuration property to dump or not the BCGs. More...
 
Identifier< bool > otawa::bpred::DUMP_BHG ("otawa::bpred::DUMP_BHG", false)
 Configuration property to select to dump or not the BHGs. More...
 
Identifier< bool > otawa::bpred::DUMP_BBHG ("otawa::bpred::DUMP_BBHG", false)
 Configuration property to dump or not the BBHGs. More...
 
Identifier< bool > otawa::bpred::WITH_MITRA ("otawa::bpred::WITH_MITRA", false)
 Configuration property to use or not some constraints from mitra's . More...
 
Identifier< bool > otawa::bpred::WITH_STATS ("otawa::bpred::WITH_STATS", false)
 Configuration property to generate or not stats. More...
 
Identifier< const char * > otawa::bpred::INIT_HISTORY_BINARYVALUE ("otawa::bpred::INIT_HISTORY_BINARYVALUE", 0)
 Configuration property to select the inital value for history. More...
 
Identifier< bool > otawa::bpred::EXPLICIT_MODE ("otawa::bpred::sEXPLICIT_MODE", true)
 Configuration property to select . More...
 

Variables

Identifier< method_t > otawa::bpred::METHOD
 Configuration property to select the method used for branch prediction. More...
 
Identifier< int > otawa::bpred::BHT_SIZE
 Configuration property to select the BHT's size to use with the bimodal metho. More...
 
Identifier< int > otawa::bpred::HISTORY_SIZE
 Configuration property to select the history size to use for Global2b and Global1b methods. More...
 
Identifier< bool > otawa::bpred::DUMP_BCG
 Configuration property to dump or not the BCGs. More...
 
Identifier< bool > otawa::bpred::DUMP_BHG
 Configuration property to select to dump or not the BHGs. More...
 
Identifier< bool > otawa::bpred::DUMP_BBHG
 Configuration property to dump or not the BBHGs. More...
 
Identifier< bool > otawa::bpred::WITH_MITRA
 Configuration property to use or not some constraints from mitra's . More...
 
Identifier< bool > otawa::bpred::WITH_STATS
 Configuration property to generate or not stats. More...
 
Identifier< const char * > otawa::bpred::INIT_HISTORY_BINARYVALUE
 Configuration property to select the inital value for history. More...
 
Identifier< bool > otawa::bpred::EXPLICIT_MODE
 Configuration property to select . More...
 

Detailed Description

This module implements a branch prediction analysis based on:

C. Burguiere, C. Rochange. History-based Schemes and Implicit Path Enumeration. International Workshop on Worst-Case Execution Time Analysis (WCET 2006), Dresden, July 2006.

The possible states of the branch predictor on the program are modelled by a graph translated into the IPET system. Mispredictions are converted as time added to the objective function producing the WCET.

To invoke it, just require the feature otawa::bpred::BRANCH_PREDICTION_FEATURE. To configure the computation, pass properties to the configuration property list: otawa::bpred::METHOD, otawa::bpred::BHT_SIZE, otawa::bpred::HISTORY_SIZE .

Plugin Information

Function Documentation

Identifier<int> otawa::bpred::BHT_SIZE ( "otawa::bpred::BHT_SIZE"  ,
 
)

Configuration property to select the BHT's size to use with the bimodal metho.

Feature

Identifier<bool> otawa::bpred::DUMP_BBHG ( "otawa::bpred::DUMP_BBHG"  ,
false   
)

Configuration property to dump or not the BBHGs.

Feature

Identifier<bool> otawa::bpred::DUMP_BCG ( "otawa::bpred::DUMP_BCG"  ,
false   
)

Configuration property to dump or not the BCGs.

Feature

Identifier<bool> otawa::bpred::DUMP_BHG ( "otawa::bpred::DUMP_BHG"  ,
false   
)

Configuration property to select to dump or not the BHGs.

Feature

Identifier<bool> otawa::bpred::EXPLICIT_MODE ( "otawa::bpred::sEXPLICIT_MODE"  ,
true   
)

Configuration property to select .

Feature

Identifier<int> otawa::bpred::HISTORY_SIZE ( "otawa::bpred::HISTORY_SIZE"  ,
 
)

Configuration property to select the history size to use for Global2b and Global1b methods.

Feature

Identifier<const char*> otawa::bpred::INIT_HISTORY_BINARYVALUE ( "otawa::bpred::INIT_HISTORY_BINARYVALUE"  ,
 
)

Configuration property to select the inital value for history.

Feature

Identifier<method_t> otawa::bpred::METHOD ( "otawa::bpred::METHOD"  ,
NO_CONFLICT_2BITS_COUNTER   
)

Configuration property to select the method used for branch prediction.

Feature

Identifier<bool> otawa::bpred::WITH_MITRA ( "otawa::bpred::WITH_MITRA"  ,
false   
)

Configuration property to use or not some constraints from mitra's .

Feature

Identifier<bool> otawa::bpred::WITH_STATS ( "otawa::bpred::WITH_STATS"  ,
false   
)

Configuration property to generate or not stats.

Feature

Variable Documentation

Identifier<int> otawa::bpred::BHT_SIZE("otawa::bpred::BHT_SIZE", 4)

Configuration property to select the BHT's size to use with the bimodal metho.

Feature

Referenced by otawa::bpred::BPredProcessor::configure().

Identifier<bool> otawa::bpred::DUMP_BBHG("otawa::bpred::DUMP_BBHG", false)

Configuration property to dump or not the BBHGs.

Feature

Referenced by otawa::bpred::BPredProcessor::configure().

Identifier<bool> otawa::bpred::DUMP_BCG("otawa::bpred::DUMP_BCG", false)

Configuration property to dump or not the BCGs.

Feature

Referenced by otawa::bpred::BPredProcessor::configure().

Identifier<bool> otawa::bpred::DUMP_BHG("otawa::bpred::DUMP_BHG", false)

Configuration property to select to dump or not the BHGs.

Feature

Referenced by otawa::bpred::BPredProcessor::configure().

Identifier<bool> otawa::bpred::EXPLICIT_MODE("otawa::bpred::sEXPLICIT_MODE", true)
Identifier<int> otawa::bpred::HISTORY_SIZE("otawa::bpred::HISTORY_SIZE", 4)

Configuration property to select the history size to use for Global2b and Global1b methods.

Feature

Referenced by otawa::bpred::BPredProcessor::configure().

Identifier<const char*> otawa::bpred::INIT_HISTORY_BINARYVALUE("otawa::bpred::INIT_HISTORY_BINARYVALUE", 0)

Configuration property to select the inital value for history.

Feature

Referenced by otawa::bpred::BPredProcessor::configure().

Identifier<method_t> otawa::bpred::METHOD("otawa::bpred::METHOD", NO_CONFLICT_2BITS_COUNTER)

Configuration property to select the method used for branch prediction.

Feature

Referenced by otawa::bpred::BPredProcessor::configure().

Identifier<bool> otawa::bpred::WITH_MITRA("otawa::bpred::WITH_MITRA", false)

Configuration property to use or not some constraints from mitra's .

Feature

Referenced by otawa::bpred::BPredProcessor::configure().

Identifier<bool> otawa::bpred::WITH_STATS("otawa::bpred::WITH_STATS", false)

Configuration property to generate or not stats.

Feature

Referenced by otawa::bpred::BPredProcessor::configure().