Otawa  0.10
otawa::branch Namespace Reference

Classes

class  BranchBuilder
 Compute the categories for branch prediction. More...
 
class  CondNumber
 Associate numbers to each branch relatively to their BHT set. More...
 
class  ConsBuilder
 This processor add to the current ILP the constraint requires to model the behaviour of the BHT. More...
 
class  OnlyConsBuilder
 This processor add to the current ILP the constraint requires to model the behavior of the BHT. More...
 

Typedefs

typedef enum
otawa::branch::category_t 
category_t
 

Enumerations

enum  category_t {
  UNDEF = 0, ALWAYS_D = 1, ALWAYS_H = 2, FIRST_UNKNOWN = 3,
  NOT_CLASSIFIED = 4, MAX = 5
}
 

Functions

io::Outputoperator<< (io::Output &out, category_t cat)
 
Identifier< category_tCATEGORY ("otawa::branch::CATEGORY", branch::NOT_CLASSIFIED)
 Branch prediction category: it is put on the BB containing the branch instruction. More...
 
Identifier< BasicBlock * > HEADER ("otawa::branch::HEADER", NULL)
 Loop header of FIRST_UNKNOWN branch prediction category. More...
 
p::feature CATEGORY_FEATURE ("otawa::branch::CATEGORY_FEATURE", new Maker< BranchBuilder >())
 This category assigns to each branch a category according to its branch prediction behavior. More...
 
Outputoperator<< (Output &out, category_t cat)
 
p::feature NUMBERED_CONDITIONS_FEATURE ("otawa::branch::NUMBERED_CONDITIONS_FEATURE", new Maker< CondNumber >())
 This feature assign numbers to branch present in a workspace for next processing. More...
 
Identifier< int > COND_NUMBER ("otawa::branch::COND_NUMBER",-1)
 Property giving the number of the control in its BHT set. More...
 
Identifier< int * > COND_MAX ("otawa::branch::COND_MAX", NULL)
 This features returns an array integer giving, for each BHT set, the maximum number of branches in the workspace. More...
 
p::feature SUPPORT_FEATURE ("otawa::branch::SUPPORT_FEATURE", new Maker< ConsBuilder >())
 This feature adds to the objective function of the ILP system the raw cost of the BHT behaviour (that is the branch misprediction penalties multiplied by the number of occurences). More...
 
p::feature CONSTRAINTS_FEATURE ("otawa::branch::CONSTRAINTS_FEATURE", new Maker< OnlyConsBuilder >)
 This feature adds to the ILP system the constraints modelling the number of misspredictions and a variable representing this number. More...
 
Identifier< ilp::Var * > MISSPRED_VAR ("otawa::branch::MISSPRED_VAR", NULL)
 This properties gives the variables counting the number of miss-prediction for a basic block ending with a control instruction. More...
 

Variables

Identifier< int > COND_NUMBER
 Property giving the number of the control in its BHT set. More...
 
Identifier< int * > COND_MAX
 This features returns an array integer giving, for each BHT set, the maximum number of branches in the workspace. More...
 
p::feature NUMBERED_CONDITIONS_FEATURE
 This feature assign numbers to branch present in a workspace for next processing. More...
 
Identifier< category_tCATEGORY
 Branch prediction category: it is put on the BB containing the branch instruction. More...
 
Identifier< BasicBlock * > HEADER
 Loop header of FIRST_UNKNOWN branch prediction category. More...
 
p::feature CATEGORY_FEATURE
 This category assigns to each branch a category according to its branch prediction behavior. More...
 
p::feature CONSTRAINTS_FEATURE
 This feature adds to the ILP system the constraints modelling the number of misspredictions and a variable representing this number. More...
 
Identifier< ilp::Var * > MISSPRED_VAR
 This properties gives the variables counting the number of miss-prediction for a basic block ending with a control instruction. More...
 
p::feature SUPPORT_FEATURE
 This feature adds to the objective function of the ILP system the raw cost of the BHT behaviour (that is the branch misprediction penalties multiplied by the number of occurences). More...
 

Typedef Documentation

Enumeration Type Documentation

Enumerator
UNDEF 
ALWAYS_D 
ALWAYS_H 
FIRST_UNKNOWN 
NOT_CLASSIFIED 
MAX 

Function Documentation

io::Output& otawa::branch::operator<< ( io::Output out,
category_t  cat 
)
Output& otawa::branch::operator<< ( Output &  out,
category_t  cat 
)

References MAX, and out.